2010-11-21 5 views
0

Wenn mein Logger auf "all" gesetzt ist, sehe ich Nachrichten, die mein Code nicht explizit platziert. Ich bin mit einem Glas ein Freund von mir hat mir ein paar Dinge zu tun (und ich vermute, dass er Sachen loggt sich)log4j, fremde Protokollierung

Ich mag würde nur Sachen melde ich mich fragen, indem Sie den

logger.info ("something clever"); command 
angemeldet sein,

Unten ist meine log4j.properties

bitte beraten.

# ***** Set root logger level to WARN and its two appenders to stdout and R. 
log4j.rootLogger=all, R 

# ***** R is set to be a RollingFileAppender. 
log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=log/something.log 
# ***** Max file size is set to 100KB 
log4j.appender.R.MaxFileSize=100KB 
# ***** Keep one backup file 
log4j.appender.R.MaxBackupIndex=1 
# ***** R uses PatternLayout. 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n 

Antwort

2

Werfen Sie einen Blick auf diesem hervorragenden log4j Spickzettel:

log4j.rootCategory=error, R 
log4j.category.com.your.package=debug 

oder alternativ:

Grundsätzlich Sie so etwas wie dies einstellen müssen:

log4j.category.com.your.friends.package=error 

Ersetzen Sie die Paketnamen nach Bedarf.

Diese würden das Root-Logger gesetzt machen Fehler (so jede Paket - einschließlich anderer Bibliotheken, die Sie verwenden könnten, wie Hibernate, Spring, etc.) werden nichts Low-Level-log (debug, info, warn) , aber nur Fehler protokollieren.

Es wird auch Ihr Paket (einschließlich Ihrer Top-Level-Paket oder Pakete), um eine Debug-Ebene anmelden, so dass alle Ihre Logger normal loggen. Es wird auch das Paket Ihres Freundes auf Fehler setzen, so dass nichts ausgegeben wird.

Wenn Sie ein gemeinsames Root-Paket haben, verwenden Sie es einfach. Z.B. wenn Sie Pakete:

  • com.example
  • com.example.a
  • com.example.a.aa
  • com.example.b
  • com.example.cd

nur com.example und es wird standardmäßig für die Pakete unten erben.

Sie könnten natürlich, z. angeben:

  • com.example - warnen
  • com.example.a.aa - debuggen

oder etwas ähnliches.Werfen Sie einen Blick hier für eine detaillierte Erklärung:

+0

Kann ich es in meinem Projekt für alle Pakete gesetzt, oder benötige ich Pakete separat hinzufügen? – JAM

+0

Überprüfen Sie den bearbeiteten Post. –

Verwandte Themen