複数のロガーをより詳細に説明する理由を説明できますか?私は複数のlog4jインスタンスを持つことはできないと思います。
あなただけの複数のアペンダをしたい場合は、ここを見て:
# logj4.properties
log4j.rootCategory = WARN, A
log4j.category.com.lewscanon = WARN, F
log4j.category.com.lewscanon.mouser = DEBUG, X
log4j.appender.A = org.apache.log4j.ConsoleAppender
log4j.appender.A.layout = org.apache.log4j.PatternLayout
log4j.appender.F = org.apache.log4j.RollingFileAppender
log4j.appender.F.layout = org.apache.log4j.PatternLayout
log4j.appender.F.File = /projects/mouser/logs/lewscanon.log
log4j.appender.F.MaxFileSize = 512KB
log4j.appender.F.MaxBackupIndex = 2
log4j.appender.X = org.apache.log4j.RollingFileAppender
log4j.appender.X.layout = org.apache.log4j.PatternLayout
log4j.appender.X.File = /projects/mouser/logs/mouser.log
log4j.appender.X.MaxFileSize = 512KB
log4j.appender.X.MaxBackupIndex = 2
log4j.appender.A.layout.ConversionPattern= %d %-16c{1}:%-39m %-t %x%n
log4j.appender.F.layout.ConversionPattern= %d %-16c{1}:%-39m %-t %x%n
log4j.appender.X.layout.ConversionPattern= %d %-16c{1}:%-39m %-t %x%n
これらの行::
をここで上記のリンクからlog4j.propertiesです
log4j.rootCategory = WARN, A
log4j.category.com.lewscanon = WARN, F
log4j.category.com.lewscanon.mouser = DEBUG, X
次のように言う:
- すべてをコンソール(コンソール)にログする。ログ警告以上のもののみ
- com.lewscanonパッケージからアペンダF(すべてlewscanon.logファイルに移動)にすべてを記録します。ログ警告以上のもののみ
- com.lewscannon.mouserパッケージからアペンダーX(すべてmouser.logファイルに移動)までのすべてをログに記録します。唯一のデバッグのログを記録し、
の上にそれは完全なクラス名を供給することも可能です:
log4j.category.com.lewscanon.SomeClass = WARN, F
手段レベル以上の警告と、Fをアペンダするcom.lewscanon.SomeClass
クラスからすべてをログに記録します。
Logger.getLogger(String name)
が受け入れる:につき、
私は上記の十分な粒状であると仮定していますが、絶対に必要な場合には、より詳細な(私はそれはしかし、十分に実用的ではないと思います)名前。だからあなたのような何かを行うことができます。
log4j.category.myFancyLogger = INFO, F
をし、レベルの情報でFをアペンダするログロガーを取得するためにLogger.getLogger("myFancyLogger")
を使用しています。
私はあなたのリンクを見ました。しかし、どのようにログの場所を前後に変更できますか?つまり、あるlog4jインスタンスを使用し、あるメソッドでは1つのファイルにログを記録し、別のメソッドでは別のファイルにログを記録したいということです。どんな例ですか? – Kavin
編集を参照してください、十分に細かいことを願ってください。 –
それは動作します。ありがとうございました – Kavin