slf4j和log4j日志文件没有附加

时间:2014-06-05 10:06:33

标签: java logging log4j slf4j

我的slf4j和log4j有问题。我可以在控制台中看到日志消息,但这些消息没有附加到文件

我正在使用以下罐子。

slf4j-log4j12-1.7.5.jar
slf4j-api-1.7.1.jar
log4j-1.2.17.jar

我的log4j.properties文件位于下方。

    # Root logger option
    log4j.rootLogger=INFO, file

    # Direct log messages to a log file
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=C:\\myLogFile.log
    log4j.appender.file.MaxFileSize=1MB
    log4j.appender.file.MaxBackupIndex=1
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}
 %-5p %c{1}:%L - %m%n

当我运行我的java类时,我在控制台中收到以下警告

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/1018835/.m2/repository/ch/qos/logback/logback-classic/1.0.10/logback-classic-1.0.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/1018835/.m2/repository/org/slf4j/slf4j-log4j12/1.7.5/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

任何人都能帮助我吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果您想使用log4j,请仅保留此绑定。从logback-classic-1.0.10.jar中删除classpath。由于日志告诉我multiple bindings in your classpath

摘自slf4j site

SLF4J API 旨在一次只与一个基础日志框架绑定。如果类路径上存在多个绑定,SLF4J将发出警告,列出这些绑定的位置。

如果类路径上有多个绑定,请选择一个且只能使用一个绑定,并删除其他绑定。例如,如果类路径上同时包含slf4j-simple-1.7.7.jar和slf4j-nop-1.7.7.jar,并且希望使用nop(无操作)绑定,则删除slf4j-simple- 1.7.7.jar from class path。