java - slf4j 和 log4j 日志文件未附加

标签 java logging log4j slf4j

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

我正在使用以下 jar 。

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]

谁能帮我解决这个问题?提前致谢。

最佳答案

如果你想使用 log4j 那么只保留这个绑定(bind)。从 classpath 中删除 logback-classic-1.0.10.jar。由于日志显示您的类路径中有多个绑定(bind)

这是摘自 slf4j site :

SLF4J API 旨在一次绑定(bind)一个且仅一个底层日志记录框架。如果类路径上存在多个绑定(bind),SLF4J 将发出警告,列出这些绑定(bind)的位置。

当类路径上有多个绑定(bind)可用时,选择一个并且只选择一个您希望使用的绑定(bind),然后删除其他绑定(bind)。例如,如果类路径上同时有 slf4j-simple-1.7.7.jar 和 slf4j-nop-1.7.7.jar 并且您希望使用 nop(无操作)绑定(bind),则删除 slf4j-simple-类路径中的 1.7.7.jar。

关于java - slf4j 和 log4j 日志文件未附加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24057258/

相关文章:

java - 使用 linkedList 的合并排序无法正常工作 - 在 Java 中实现

java - 从元素中获取文本——排除内部元素的文本

logging - 如何在 log4j 中启用包级别日志记录

c# - 如何登录Unity安卓游戏?

java - 在打印日志时使用方法名称作为记录器的参数是不好的做法吗?

spring - 将特定的MDC字段追加到Logstash日志中

java-如何编写一个进程来拦截在远程计算机上运行的程序的输出流/知道远程程序何时停止/完成

java - Android:下载大量文件并将其保存在SD卡上

sharepoint - 使用 NLog 集中日志记录的最佳方法是什么?

java - 是否可以在 log4j 中为堆栈跟踪的每一行添加前缀?