2016-05-03 13 views
0

タイトルとして、log4j2ログ設定を使用して、stdout.logstderr.logファイルを毎日作成したいとします。 Tomcatサーバーを再起動せずに生成する方法はありますか?それとも、log4jバージョン1のように、上記のようにタスクを実行できないのでしょうか?log4j2は日常的にstdout/stderrログファイルを生成できますか?

私のサンプルlog4j.properties:

og4j.rootLogger = INFO,MANAGER,CONSOLE 
log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.MANAGER.File=${catalina.base}/logs/manager. 
log4j.appender.MANAGER.Append=true 
log4j.appender.MANAGER.Encoding=UTF-8 
log4j.appender.MANAGER.DatePattern='.'yyyy-MM-dd-HH-mm'.log' 
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout 
log4j.appender.MANAGER.layout.ConversionPattern = %n %d [%t] %-5p %c- %m%n 

log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender 
log4j.appender.CONSOLE.File = $(catalina.base)/logs/stdout.log 
log4j.appender.CONSOLE.Encoding = UTF-8 
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern =%n %d [%t] %-5p %c- %m%n 

答えて

0

あなたがあるstdout.logとたSTDERR.logを参照してください。 StdoutとStderrは通常、ConsoleAppenderによって処理され、ファイルにはまったくルーティングされません。ファイルに出力したい場合は、ファイルアペンダーを使用します。ログイベントは、アプリケーションによってstdoutまたはstderrに直接送られることはありません。設定だけであるため、あなたの質問で多少混乱します。

Log4j 1には、毎日ファイルをロールオーバーさせるRollingFileAppenderがあります。そのため、私は実際にそのファイルを実行できないと言っているのかどうかはわかりません。 Log4j 2にはRollingFileAppenderもありますが、少し異なりますが、毎日ファイルをロールオーバーすることもできます。

TomcatにログイベントをLog4j 2に送る方法を本当に知りたいですか?

+0

ご不明な点がありましたら申し訳ありません。私はRollingFileAppenderが毎日ファイルをロールオーバーできることを知っています。しかし、私が望むのは、ConsoleAppenderによって処理され、日常的にロールすることができるログです。それは可能ですか?または他のログがそのようなタスクを行うことができますか?助けてください。 –

+0

あなたが求めていることは意味をなさない。コンソールアペンダをローリングファイルアペンダで置き換えるか、コンソールアペンダに加えてローリングファイルアペンダを追加するだけです。 – rgoers

+0

あなたの親切な反応に感謝します。あなたは、コンソールアペンダーに加えてローリングファイルアペンダーを追加する方法の例を挙げることができますか?前もって感謝します。 –

関連する問題