2012-11-25 8 views
6

私はlog4j2を使用してシステムにログファイルを作成しようとしていますが、私は彼らのsiteの指示に従っていますが、ログを実行するとエラーは発生しません。設定した場所に保存されません(例: "D:\ logs \ app.log")。ここで Log4j2ファイルを保存する(RollingFileアペンダを使用)

は私がしようとした

<?xml version="1.0" encoding="UTF-8"?> 
<configuration status="OFF"> 
    <appenders> 
    <RollingFile name="MyRollingFile" fileName="D:/logs/app.log" 
       filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz"> 
     <PatternLayout> 
     <pattern>%d %p %C{1.} [%t] %m%n</pattern> 
     </PatternLayout> 
     <Policies> 
     <TimeBasedTriggeringPolicy /> 
     <SizeBasedTriggeringPolicy size="250 MB"/> 
     </Policies> 
     <DefaultRolloverStrategy max="20"/> 
    </RollingFile> 
    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 
    </appenders> 
    <loggers> 
    <logger name="Log_RollingFile" level="TRACE" additivity="false"> 
     <appender-ref ref="MyRollingFile"/> 
    </logger> 
    <root level="ERROR"> 
     <appender-ref ref="Console"/> 
    </root> 
    </loggers> 
</configuration> 

私のlog4j.xmlです:見てapp.logを削除

  • もし私の設定(D:\ログ\ app.log)働く私がアプリケーションを実行すると、app.logが作成されるので、構成が見えるということになります。唯一のことは、Javaアプリケーションでlog.infoを保存していないことです。
  • "TRACE"にルートレベルを変更します。 log.infoを出力します。

[EDIT:]

私は私のクラスパス上にもこれらのライブラリを持って

  • のlog4j-API-2.0-beta3.jarが
  • のlog4j-コア - 2.0-β3.jar

RollingFileの設定やライブラリに何か不足していますか?

ありがとうございます。

答えて

3

ロガー名が正しくありません。

リンク先の設定手順で説明したように、ロガーのロギングは、ロギングを取得するパッケージ/クラスに従って命名する必要があります。

com.foo.Barという名前のロガーは、のTRACEレベルのBarクラスのすべてをログに記録します。

関連する問題