2016-05-22 3 views
1

私はJ2SEデスクトップアプリケーションを持っており、私はApacheのコモンログを使用する方法を理解しようとしています。なぜapache.commons.logging.Logはデバッグレベルをログに記録しませんか?

commons-logging.properties:

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger 

#Priorities are: DEBUG, INFO, WARN, ERROR, or FATAL. 
log4j.rootCategory=DEBUG 
log4j.appender.appender.Threshold=DEBUG 

log4j.properties:

log4j.rootLogger=TRACE 

logging.properties:

私は、次のプロパティは、最新のApache Commonsのロギングを使用して、私のプロジェクトにファイルをしています
# jdk handlers 
handlers=java.util.logging.ConsoleHandler java.util.logging.FileHandler 

# default log level FINE=ERROR FINER= FINEST= 
.level=FINEST 
java.util.logging.ConsoleHandler.level=FINEST 

# log file name for the FileHandler 
java.util.logging.FileHandler.pattern=gef_debug.log 

さらに、FINESTまたはTRACEに設定されているすべての情報でも、私はまだ情報のログとm yコンソール。

何が間違っていますか?

-

ところで、私はので、多分いくつかの設定は、私が知らないことをどこかにあります、それは私のログをブロックして、既存の古いプロジェクトによ...:/ しかし、唯一のDEBUGレベルの場合。

答えて

0

org.apache.commons.logging.Log= org.apache.commons.logging.impl.Jdk14Logger

私はこのラインはあなたがJdk14Logger、ないLog4jのを使用していることと思います。

Jdk14Loggerは、ファイルlog-config.propertiesを読み取ります。アプリケーションのクラスパスに作成して設定するだけです。たとえば:

# The following creates the console handler 
handlers=java.util.logging.ConsoleHandler 
# Set the default logging level for the root logger 
.level=FINEST 
# Set the default logging level 
java.util.logging.ConsoleHandler.level=ALL 

# Set the default formatter 
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter 

またcommons-logging.properties org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLoggerからの最初の行を変更することにより、Log4jのにロガーを変更することができます。

log4j.propertiesから読み取るLog4Jロガーを使用するので、コンソールハンドラを追加する必要があります。

いくつかのログの実装hereを見ることができます。

関連する問題