Q&A
###前提
以下の構成でWebシステムを構築しています。
- Tomcat7
- commons-logging-1.1.1
以下、log4j.propertiesの内容です。system.logファイルにログを出力しています。
Properties:log4j.properties
1log4j.appender.consoleLog=org.apache.log4j.ConsoleAppender 2log4j.appender.consoleLog.Target=System.out 3log4j.appender.consoleLog.layout=org.apache.log4j.PatternLayout 4log4j.appender.consoleLog.layout.ConversionPattern=[%d{yyyy/MM/dd HH:mm:ss}][%p][%c{1}] %m%n 5 6log4j.appender.fileLog=org.apache.log4j.RollingFileAppender 7log4j.appender.fileLog.File=C:/tmp/system.log 8log4j.appender.fileLog.layout=org.apache.log4j.PatternLayout 9log4j.appender.fileLog.layout.ConversionPattern=<%d> %m%n
###実現したいこと
Exception.printStackTrace
や、JSP構文エラーなど、標準エラー出力の内容を、system.logファイルに出力したいです。
理由は、アプリに関するログ情報を1ファイルにまとめたいからです。
現在、標準エラー出力はTomcatのログファイルに出力されます。
アプリでエラーや問題が発生した場合、まずsystem.logを確認して、問題の原因が分からなかったらTomcatのログを確認します。
この手順が、以下の点で面倒です。
- ファイルの置き場所が異なる2つのファイルを確認しなくてはいけない
- Tomcatログには他のアプリの情報も出力されていて、分かりづらい。(現在Tomcatに複数のアプリがデプロイされている)
ソースでは、e.printStackTrace();
を、log.error(message, e);
に置き換えて、stackTraceはsystem.logに出力しています。
なので、通常Tomcatログを確認することはありません。
が、やっぱり標準エラー出力をsystem.logに出力して、1ファイルにまとめたいです。
ご存知でしたら教えてください。よろしくお願いします。
回答2件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2016/06/18 03:21
2016/06/18 13:37