2017-01-01 9 views
0

プロジェクトにlog4j 2を追加しました。最初は、構成/プロパティファイルを追加せず、メッセージERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the consoleを得ました。とにかく私はデフォルト設定を使用していたので、これは問題ありませんでした。log4j2:日付/変換パターンが機能しない

これをすべて設定した後、ログmsgsタイムスタンプに日付が含まれていないことに気付きました。例:10:46:24.597 [[STANDBY] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)'] INFO utils.ServerParamLoader - INFO LOG。だから私は答えのためにウェブを掘り始めました。 log4jtester.comからの助けを借りて

私は小さなlog4j2.propertiesファイル作っ:

log4j.rootLogger=INFO, STDOUT 

#appenders 
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender 
log4j.appender.STDOUT.Target=System.out 
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout 
log4j.appender.STDOUT.layout.ConversionPattern=[%d{dd/MM/yyyy HH:mm:ss,SSS}] [%-7p] %c{1}:%L (%t) - %m%n 

をそして私は/ srcの下に置きます。

サーバーを再起動したときに、エラーメッセージが表示されなくなりました(ファイルがロードされていると確信しています)が、ログのメッセージはまだ古い形式です。

私は間違っていますか?

(もう一つは、多分それはそうでないかもしれない関連のだ - !APIに応じてタイムスタンプのデフォルトでは、日を含むISO8601、です)

答えて

1

が質問に示された構成ファイルが古いLog4jの1形式です。 log4j2.propertiesという名前でLog4j2が解析しようとしますが、エラーが発生したと思われ、無効な設定になってしまいました...

Log4j2のexample of the properties formatの設定に関するLog4j2のマニュアルページを参照してください。

マニュアルのほとんどの例では、xml形式が使用されています。そのため、XML設定ファイルを使い始めるほうが簡単かもしれません。

console appenderためlog4j2.xml構成がある:

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="warn"> 
    <Appenders> 
    <Console name="STDOUT" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{dd/MM/yyyy HH:mm:ss,SSS}] [%-7p] %c{1}:%L (%t) - %m%n"/> 
    </Console> 
    </Appenders> 
    <Loggers> 
    <Root level="info"> 
     <AppenderRef ref="STDOUT"/> 
    </Root> 
    </Loggers> 
</Configuration> 
関連する問題