Hoe log4j goed te initialiseren?
Na het toevoegen van log4j aan mijn applicatie krijg ik de volgende output elke keer als ik mijn applicatie uitvoer:
log4j:WARN Er konden geen appenders gevonden worden voor logger (slideselector.facedata.FaceDataParser). log4j:WARN initialiseer het log4j systeem goed.
Het lijkt erop dat dit betekent dat er een configuratiebestand ontbreekt. Waar moet dit configuratiebestand zich bevinden en wat is een goede start inhoud?
Ik'm gebruik gewone java voor het ontwikkelen van een desktop applicatie. Dus geen webserver etc...
272
3
Log4j zoekt standaard naar een bestand met de naam log4j.properties of log4j.xml op het classpath. Je kunt bepalen welk bestand het gebruikt om zichzelf te initialiseren door systeemeigenschappen in te stellen zoals beschreven hier (zoek naar de "Default Initialization Procedure" sectie).
Bijvoorbeeld:
Zorgt ervoor dat log4j zoekt naar een bestand met de naam customName op het classpath.
Als je problemen hebt, vind ik het handig om log4j.debug aan te zetten:
Het zal veel nuttige informatie afdrukken naar System.out over welk bestand het gebruikt heeft om zichzelf te initialiseren, welke loggers / appenders geconfigureerd werden en hoe, enz.
Het configuratiebestand kan een java properties bestand zijn of een xml bestand. Hier is een voorbeeld van het properties bestandsformaat, genomen van de log4j intro documentatie pagina:
Zoek een log4j.properties of log4j.xml online die een root appender heeft, en zet die op je classpath.
zal naar de console loggen. Ik geef de voorkeur aan loggen naar een bestand, zodat je het naderhand kunt onderzoeken.
hoewel voor verbose logging toepassingen 100KB meestal moet worden verhoogd tot 1MB of 10MB, vooral voor debug.
Persoonlijk stel ik meerdere loggers in, en zet de root logger op warn of error level in plaats van debug.
Waar ontwikkelt u in? Gebruikt u Apache Tomcat?
Ik heb een eigenschap als deze in een Java app van mij.