0

Maven を使用してビルドし、Jetty を Web サーバーとして使用して Web アプリでログを取得する際に問題があります。私の log4j.proporties ファイルは次のようになります。

#
log4j.rootLogger=debug,file
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=C:/logs/Stats.log
log4j.appender.file.MaxFileSize=2MB
log4j.appender.file.MaxBackupIndex=2
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %t [%5p][%c{1}] %m%n

#log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
#log4j.appender.CONSOLE.threshold=INFO
#log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=%d %t [%5p][%c{1}] %m%n
#log4j.appender.CONSOLE.target=System.err

# RTS file logger
log4j.appender.RTS=org.apache.log4j.RollingFileAppender
log4j.appender.RTS.File=C:/logs/RTS.log
log4j.appender.RTS.MaxBackupIndex=10
log4j.appender.RTS.MaxFileSize=10MB
log4j.appender.RTS.append=true
log4j.appender.RTS.layout=org.apache.log4j.PatternLayout
log4j.appender.RTS.layout.ConversionPattern=%d [%t] %-m%n

# Level tuning
#log4j.logger.org.cometd=INFO
log4j.logger.com.realtime=INFO, RTS

私のメインクラスは次のようになります。

import org.apache.log4j.Logger;

public class Main {

    static final Logger logger = Logger.getLogger(Main.class);

    public static void main(String[] args) {
        logger.info("Info Message!");
            ...
            ...
    }
}

「情報メッセージ」が表示されない理由を知っている人はいますか? RTS.log ファイルに表示されますか? ファイルは作成されますが、アプリケーションの実行時には空です。私のメインクラスは現在パッケージcom.realtimeにあります

4

1 に答える 1

0

ええ、トリッキーなもの。この投稿additivityでは、コメントでの私の提案が原因で、同じパッケージが異なるログファイルに記録されないように設定を使用する方法について説明します。だからこのようなもの...

log4j.additivity.com.cometd=false
log4j.additivity.com.realtime=false

log4j.logger.com.cometd.file=DEBUG, file
log4j.logger.com.realtime.RTS=DEBUG, RTS
于 2013-02-06T17:25:17.280 に答える