在我的项目中,我使用slf4j+log4j进行日志记录。我刚接触java,正在尝试了解日志记录是如何工作的。如果我想使用log4j以外的其他日志框架,比如java.util.logging,那么我就不需要更改任何代码,因为我使用的是SLF4J。我只需要移除log4j的jar,并添加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");
}
}
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
我的问题是--现在如果我想为上面的代码切换到log4j而不是java.util.logging,我必须将jul jar替换为log4j jar并且代码中什么都不需要改变。现在的代码会是什么行为呢?它还会显示相同的输出吗?
我的意思是代码如何在不同的日志记录框架下不同地工作?
SLF4J委托的不同日志记录实现的输出取决于日志记录框架的配置。每个框架可以做不同的事情。
在相应的文档中记录了如何配置不同的框架。Log4j,Log4j2,Logback文档。
问题内容: 我已经将一个Web应用程序部署到服务器上。我的应用程序使用和。但是,并非所有日志记录消息都已写入文件。 在我的课堂上,我有: 我的文件在本地计算机上运行良好,并且已正确部署。 我看到正在写入的应用程序生成的错误消息没有写入我的。由于输出模式的格式与我的模式不同,因此看起来的日志消息来自其他日志框架。我在中看到的日志记录如下: 我的log4j模式是这样的: 一些日志记录出现在我的文件日志
我在Weblogic服务器上运行一个web应用程序(我并不熟悉)。 通过JVM args将带有日志级调试的log4j配置传递给应用程序。在日志文件中,我还可以找到一些调试级别的日志条目。 到目前为止还不错。 在调试期间,我发现一些对logger.debug()的调用不在日志文件中。 如果在调试过程中执行一步,我会在记录器:org.slf4j.impl.jdk14LoggerAdapter(com.
主要内容:日志记录框架概述,记录器对象,严重程度在编程中的日志是指记录活动/事件。通常,应用程序开发人员应该负责日志记录。 为了使日志记录更容易,Java提供了各种框架 - log4J,java.util.logging(JUL), tiny log,logback等。 日志记录框架概述 日志框架通常包含三个元素 - 记录仪 - 捕获消息和元数据。 格式化 - 格式化记录器捕获的消息。 处理器 - 或最终通过在控制台上打印或通过存储在数据库中或
主要内容:修改日志管理器配置每个初学者都很熟悉在有问题的代码中使用 System.out.println 方法在控制台打印消息,来帮助观察程序运行的操作过程。如果你使用 System.out.println 方法,一旦发现问题的根源,就要将这些语句从代码中删去。如果接下来又出现了问题,就需要再插入几个调用 System.out.println 方法的语句,如此反复,增加了工作量。 日志用来记录程序的运行轨迹,方便查找关键信
我在具有以下logback.xml文件的类路径中有slf4j和logback jar(该文件以前已经成功使用过)。但是,DOCX4J3.0仍然将日志记录信息打印到标准输出。我正在使用NetBeans7.4构建基于docx4j的应用程序。我想将日志级别更改为错误,并将其发送到日志文件中。不知道我错过了什么。任何帮助都是非常感谢的。
但是,部署在同一台服务器上的一些其他项目使用Tomcat的lib目录中存在的slf4j和log4j库,我无法删除这些库。 Tomcat lib目录中存在的Slf4J和Log4J版本 SLF4J-API-1.4.2 当我从Tomcat的lib目录中删除这些库并使用project的pom中提到的库时,我的项目运行良好 当我注释项目的pom文件中的依赖项并使用下面Tomcat的lib中的依赖项时,会引发