gpt4 book ai didi

java - 使用 slf4j 和任何其他日志框架进行日志记录 (log4j/java.util.logging)

转载 作者:行者123 更新时间:2023-12-01 11:52:10 24 4
gpt4 key购买 nike

在我的项目中使用 slf4j + log4j 进行日志记录。我是 java 新手,试图了解日志记录的工作原理。如果我想使用 log4j 之外的其他日志框架(例如 java.util.logging),那么我不必更改任何代码,因为我使用 slf4j。我只需要删除 log4j 的 jar 并添加 java.util.logging 的二进制文件。我试图了解当我们不更改任何代码时它的工作方式有何不同。如果问题不清楚,请告诉我。如果您能给我指出一些链接或示例,我真的很感激。

好的,例如,我在下面的示例中使用 slf4j 和 java.util.logging。

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

public class SLF4JHello {

private final Logger slf4jLogger = LoggerFactory.getLogger(SLF4JHello.class);

public void sayHello(String name){

slf4jLogger.info("Hi,{}",name);
slf4jLogger.info("Welcome to the HelloWorld example of SLF4J");
}

public static void main(String[] args) {
SLF4JHello slf4jHello = new SLF4JHello();
slf4jHello.sayHello("srccodes.com");
}
}

我的类路径中有 jar slf4j-api-1.7.8.jar 和 slf4j-jdk14-1.7.7-1.0.0 jar。

这将在控制台中产生以下输出。


Feb 25, 2015 9:29:52 AM com.srccodes.examples.SLF4JHello sayHello INFO: Hi,srccodes.com
Feb 25, 2015 9:29:52 AM com.srccodes.examples.SLF4JHello sayHello INFO: Welcome to the HelloWorld example of SLF4J

SLF4J 是日志系统的简单外观,允许最终用户在部署时插入所需的日志系统。

我的问题是 - 现在,如果我想切换到 log4j 而不是上面代码的 java.util.logging,我必须用 log4j jar 替换 jul jar,并且代码中不需要进行任何更改。现在代码的行为是什么?它仍然会显示相同的输出吗?

我的意思是代码在不同的日志框架中有何不同的工作方式?

最佳答案

SLF4J 委托(delegate)的不同日志记录实现的输出取决于日志记录框架的配置。每个框架可以做不同的事情。

如何配置不同的框架记录在相应的文档中。 Log4j , Log4j2 , Logback文档。

关于java - 使用 slf4j 和任何其他日志框架进行日志记录 (log4j/java.util.logging),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28710710/

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