2016-09-24 15 views
1

私はこの問題の何が問題であるかを理解するのに苦労しています。log4j2設定ファイルが見つかりません

は、私は次のような構造のJavaプロジェクト(無エクリプス/ Mavenを)持っている:

├── build 
│   ├── classes 
│   │   └── oata 
│   │    └── HelloWorld.class 
│   └── jar 
│    └── HelloWorld.jar 
├── build.xml 
├── lib 
│   ├── log4j-api-2.3.jar 
│   └── log4j-core-2.3.jar 
├── myManifest 
└── src 
    ├── log4j2.xml 
    └── oata 
     └── HelloWorld.java 

私はlog4j2設定ファイルが見つからないことを得続けるアリ付の建物。 私はすでに同様の質問を見て、共通の問題は、XMLファイルが私の場合ではないクラスパスになかったということに関連していました。

[java] ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. 

これは、私はあなたがAntビルドスクリプトを使用してJavaクラスを実行していると仮定しています私のconfigファイル

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration package="oata" 
status="WARN"> 
<Appenders> 
    <Console name="Console" target="SYSTEM_OUT"> 
     <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 
</Appenders> 
<Loggers> 
    <Logger name="oata.HelloWorld" level="trace"> 
     <AppenderRef ref="Console"/> 
    </Logger> 
    <Root level="trace"> 
     <AppenderRef ref="Console"/> 
    </Root> 
</Loggers> 
</Configuration> 

答えて

6

です:とにかく、これは誤りです。

No log4j2 configuration file foundlog4j2.xml設定ファイルがクラスパスにありません。

HelloWorld.jarにlog4j構成ファイルが含まれているかどうかを確認してください。

代替方法では、ビルドスクリプトのシステムプロパティとしてlog4j confugurationファイルパスを設定します。

<sysproperty key="log4j.configurationFile" value="file:///${basedir}/src/log4j2.xml" /> 

ここにはlog4j configurationのドキュメントがあります。

+0

完全な答えをありがとう!私は瓶に.xmlがないので、syspropertyを追加することができました。 – geek4079

+0

ようこそ@ geek4079 :) –

+0

完了!ありがとう。それはまた、値= "src/log4j2.xml"で私のために働く – Jack

関連する問題