2016-06-17 14 views
1

私は単純なmavenプロジェクトを持っており、log4jを実装しようとしています。Mavenプロジェクトlog4jが動作しない

ローカルのtomcatにデプロイします。私はlogger.debug()を持っているEclipseのコンソールに何も印刷しません。

何か不足していますか?

これは私の構造体である:enter image description here

のpom.xml:

<!-- http://mvnrepository.com/artifact/log4j/log4j --> 
<dependency> 
<groupId>log4j</groupId> 
<artifactId>log4j</artifactId> 
<version>1.2.17</version> 
</dependency> 

は、クラス:

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

.propertiesファイルだけで余分を削除

# Root logger option 
log4j.rootLogger=INFO, stdout 
log4j.rootLogger=DEBUG, stdout 
log4j.rootLogger=ERROR, stdout 
# Direct log messages to stdout 
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{yyyy-MM-dd HH:mm:ss} %-5p  %c{1}:%L - %m%n 
+0

なぜいくつかのrootLoggerプロパティが定義されていますか?私の推測では、rootLoggerをERRORレベルに設定する最後のものは、前の2つの設定を上書きしているということです。途中にはDEBUG行だけを置いてください。 – rmlan

+0

もし私もそれらを望んでいたのですか? –

+0

説明のために私の答えを見てください – rmlan

答えて

1

を提出rootLogger宣言:

# Root logger option 
log4j.rootLogger=DEBUG, stdout 
# Direct log messages to stdout 
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{yyyy-MM-dd HH:mm:ss} %-5p  %c{1}:%L - %m%n 

ログレベルには、それらのレベルの「上」が含まれます。たとえば、ロギングレベルをDEBUGに設定すると、DEBUG、INFO、WARN、ERROR、およびFATALメッセージが自動的に含まれます。それぞれのログレベルを宣言する必要はありません。

+0

ahhhhhh ... got ya –

+0

ありがとう、私の友人.....今働いています –

関連する問題