org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
Použije logovací subsystém z Javy. Rád využívám složeb tohoto
API, protože nač přidávat k projektu další knihovnu (např. Log4J)? Lze také specifikovat factory třídu, která se použije, ale toto není nutné:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
Zajímavé je, že knihovna commons-logging automaticky použije
JDK 1.4 logger, pokud není nakonfigurována jinak a pokud v CLASSPATH nenajde knihovnu log4j (které dává přednost). Bohužel tuto knihovnu často v CLASSPATH mám kvůli závislostem, proto je třeba commons-logging explicitně nastavit.
handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
formatters=java.util.logging.SimpleFormatter
.level = ALL
java.util.logging.ConsoleHandler.level = SEVERE
java.util.logging.FileHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.pattern = APLIKACE.log
Jednoduchá konfigurace – na konzoli se vypisují jen chyby, do souboru APLIKACE.log pak info hlášky. Tento soubor můžete uložit třeba do domovského adresáře uživatele (pomocí masky %u) – více info u dokumentaci třídy FileHandler.
Úroveň logování lze také nastavit pomocí systémové proměnné Javy:
org.apache.commons.logging.Log. Můžete ji nastavit na příkazové řádce parametrem -D, nebo z programu (System.setProperty). Dostupné loggery (volby) v implementaci commons-logging verze 1.1 jsou:
org.apache.commons.logging.impl.AvalonLogger
org.apache.commons.logging.impl.Jdk13LumberjackLogger
org.apache.commons.logging.impl.Jdk14Logger
org.apache.commons.logging.impl.Log4JLogger
org.apache.commons.logging.impl.LogKitLogger
org.apache.commons.logging.impl.NoOpLog
org.apache.commons.logging.impl.SimpleLog
Poslední jmenovaný implementuje jednoduché logování na standardní/chybový výstup (není nutná žádná přídavná knihovna). Předposlední jmenovaný logger je takzvaný nulový – všechny logy se zahazují. Pro Log4j nebo LogKit volby je potřeba mít v CLASSPATH adekvátní knihovny, u
JDK 1.4 loggeru je nutné mít potřebnou verzi JRE (1.4+). Příklad spuštění programu, u kterého chcete zcela vypnout logování (za předpokladu, že program loguje pouze přes commons-logging fasádu):
java -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog -cp . cz.app.MyApp
Další informace o nastavení logování přes commons-logging jsou v oficiální dokumentaci:
http://commons.apache.org/logging/guide.html#Configuration