gpt4 book ai didi

java - slf4j 是如何工作的?没有创建日志

转载 作者:太空狗 更新时间:2023-10-29 22:31:54 24 4
gpt4 key购买 nike

我在 Java 1.6 中有以下代码:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

private static Logger log = LoggerFactory.getLogger(myfile.class);

现在,我将 slf4j-api-1.6.4.jar 和 slf4j-simple-1.6.4.jar 放在类路径中,代码编译正常,但它在哪里记录所有信息????

我有 log.info("test");但它没有创建任何日志文件。我尝试使用以下内容创建 log4j.properties:

log4j.appender.stdout=org.apache.log4j.RollingFileAppender
log4j.appender.stdout.File=/var/abc.log
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{dd-MMM-yyyy HH:mm:ss}]%6p %c{1}:%L - %m%n
log4j.appender.stdout.MaxFileSize=50000KB
log4j.appender.stdout.MaxBackupIndex=200

log4j.rootLogger=info, stdout

但它不起作用,我知道上面的文件是 log4j 所必需的,但 slf4j 是如何工作的?我是否需要创建任何类似于 log4j 的属性文件?如果可以,我需要把它放在哪里?

谢谢!

最佳答案

SLF4J 只是一个外观,它允许您轻松切换不同的日志记录框架。所有使用 SLF4J API 的日志记录调用都将委托(delegate)给底层日志记录框架。

您不必为 SLF4J 创建任何属性文件。您需要做的就是使用与您的日志记录框架匹配的正确“SLF4J 绑定(bind)”jar,以便将 SLF4J API 的所有日志记录调用委托(delegate)给底层日志记录框架。下图展示了SLF4J、“SLF4J bindings”和底层日志框架之间的关系

enter image description here

slf4j-simple-1.6.4.jar 将所有事件委托(delegate)给 System.err ,但不委托(delegate)给 log4j API。因此,您应该使用 slf4j-log4j12-1.6.4。 jar 代替。

总而言之,您应该使用以下 jar :

  • slf4j-api-1.6.4.jar
  • slf4j-log4j12-1.6.4.jar
  • log4j-1.2.16.jar

引用

关于java - slf4j 是如何工作的?没有创建日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8737204/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com