0

現在、2 つのアペンダーを使用するように log4j を構成しようとしています。デバッグ情報はログに送信し、エラーはすぐに処理できるように電子メール アドレスに送信する必要があります。

とりあえず、プロパティ ファイルは次のようになります。

log4j.category.myCategory=DEBUG, myLogAppender
log4j.category.myCategory=ERROR, myEmailAppender

# myLogAppender is set to be a FileAppender.
log4j.appender.myLogAppender=org.apache.log4j.RollingFileAppender
log4j.appender.myLogAppender.File=d:/myLogs.log
log4j.appender.myLogAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.myLogAppender.layout.ConversionPattern=%-4r [%t] %-5p %c - %m%n
log4j.appender.myLogAppender.MaxFileSize=100KB
log4j.appender.myLogAppender.MaxBackupIndex=1

# myEmailAppender is set to be a EmailAppender.
log4j.appender.myEmailAppender=org.apache.log4j.net.SMTPAppender
log4j.appender.myEmailAppender.BufferSize=1
log4j.appender.myEmailAppender.SMTPHost=myHost
log4j.appender.myEmailAppender.From=error@mydomain.com
log4j.appender.myEmailAppender.Subject=Error in the module
log4j.appender.myEmailAppender.To=error@mydomain.com
log4j.appender.myEmailAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.myEmailAppender.layout.ConversionPattern=%-4r An error occured in the module. Please refer the myLogs.log on the server to get more details. The message was: [%t] %-5p %c - %m%n

何らかの理由で、log4j はこの構成でのみメールを送信します。2 行目をコメント アウトするとすぐに、log4j はログ ファイルへの追加を開始します。

私は何を間違えましたか?デバッグ情報を取得してログに取得し、エラーをメールに送信するにはどうすればよいですか?

4

1 に答える 1

0

タスクのレベルに関する情報を使用する何らかのフィルターを使用する必要があります。ただし、フィルタの使用は XML (プロパティ ファイルではない) タイプの構成でのみサポートされます。詳細については、http ://wiki.apache.org/logging-log4j/LogToAppenderByLevel を参照してください。

于 2012-09-17T05:22:31.720 に答える