1

Maven を使用せずにログ使用 slf4j + log4j を Java プロジェクトに追加したいのですが、ライブラリ (slf4j-api-1.6.1.jar + log4j-1.2.14.jar) をクラスパスに入れましたが、ログが作成されず、このエラーが発生しました

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

これは私の log4j.properties です。

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\coreservice.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5 %c{1}:%L - %m%n

# Direct log message 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{ABSOLUTE} %5p %c{1}:%L - %m%n

# Root logger option
log4j.rootLogger=INFO, file, stdout

# Log everything. Good for troubleshooting
log4j.logger.org.hibernate=INFO

# Log all JDBC parameters
log4j.logger.org.hibernate.type=ALL

注: このプロジェクトでは eclipse juno を使用しています。

どんな助けも喜びであり、

4

1 に答える 1

3

http://www.slf4j.org/codes.html#StaticLoggerBinder言います:

このエラーは、org.slf4j.impl.StaticLoggerBinder クラスをメモリにロードできなかった場合に報告されます。これは、クラスパスに適切な SLF4J バインディングが見つからない場合に発生します。クラスパスに slf4j-nop.jar、slf4j-simple.jar、slf4j-log4j12.jar、slf4j-jdk14.jar、または logback-classic.jar の 1 つ (および 1 つだけ) を配置すると、問題が解決するはずです。SINCE 1.6.0 SLF4J バージョン 1.6 以降、バインディングがない場合、SLF4J はデフォルトでノーオペレーション (NOP) ロガー実装になります。

クラスパスに slf4j-log4j-xxx.jar がないと思います: ライブラリを使用して SLF4J を構成し、LOG4J 構成を使用します。

slf4j でのロギングのみが必要な場合は、SLF4J API のネイティブ実装であるため、 logback ( http://logback.qos.ch/ ) をお勧めします。その他は、slf4j Web サイトによると「ラップされた実装」です。

于 2013-10-17T06:11:28.397 に答える