本篇假设你已了解log4j的基本概念.
下面给出一个具体的实例:
安装环节见前面的文章
step1 配置文件log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="appender1" class="org.apache.log4j.FileAppender">
<param name="File" value="gasturbine.log1.txt"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %p - %m%n"/>
</layout>
</appender>
<root>
<level value ="debug"/>
<appender-ref ref="appender1"/>
</root>
</log4j:configuration>
在这个应用中,该文件位于src文件夹下,编译后编译到class文件夹下
step2) 封装log4j
这一步并不是必须,视具体应用而定,在我的应用中,很多类要用到log4j的logger对象,为了避免在每个类中都定义一个 static Logger logger = Logger.getLogger(clazz)的属性;而且为了避免在每个类中都进行重复的配置,可以进行如下设计:
package gasturbine.model.util;
import org.apache.log4j.Logger;
import org.apache.log4j.xml.DOMConfigurator;
/**
* @author Pw
*
*
*/
public class SysLog {
static Logger logger = Logger.getRootLogger();
static {
DOMConfigurator.configure("classes/log4j.xml");
}
public static void debug(Object o) {
logger.debug(o);
}
public static void debug(double d) {
logger.debug(""+d);
}
}
这样,在每个需要日志的类中都可以直接调用SysLog.debug()方法就可以了
当然我这个类很简略,连logger.info(),logger.error()都没有,因为我暂时只需要debug,你可以根据具体情况添加上去
step3) 写日志
有了step2,这一步太简单了,因为step2已经作了大部分工作,现在只是在需要写日志的类中直接调用SysLog.debug()方法就可以了
客户端代码片断:
Cell in_ga = this.info.get("ga_in_for_" + name + "_in"); //入口湿空气流量
SysLog.debug("入口湿空气流量:" + in_ga.getValue() + " kg/s");
分享到:
相关推荐
Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...
使用这两个JAR文件时,需要确保在应用程序的类路径中同时包含它们,以便正确运行Log4j 2框架。配置Log4j通常通过一个XML或JSON格式的配置文件完成,例如`log4j2.xml`或`log4j2.json`,这个文件定义了日志的输出级别...
首先,log4j-api-2.17.1.jar是Log4j2的核心API库,它定义了日志记录的接口和抽象类,为应用程序提供了一套编程模型。这些接口包括最基本的`org.apache.logging.log4j.Logger`,它是所有日志记录的起点,以及`org....
本文将详细介绍两种常见的 Log4j 配置方式:Tomcat 级别的统一日志管理和每个 web 应用分别配置 Log4j,并着重介绍第二种方法的具体步骤。 #### 一、Tomcat 级别的统一日志管理 这种方法适用于希望对整个 Tomcat ...
Apache Log4j是Java平台上的一个著名日志记录框架,广泛应用于各种Java应用程序中,包括服务器、Web应用、企业级软件等。Log4j 1.2.16是该框架的一个版本,提供了丰富的日志功能,允许开发者灵活地控制日志信息的...
slf4j-log4j12-1.7.x版本是SLF4J针对Log4j 1.2版本的绑定器,它使得应用可以使用SLF4J接口,但实际的日志输出通过Log4j进行。这个桥接器让项目能利用SLF4J的灵活性,同时使用Log4j的成熟实现。 在提供的文件名列表...
总结,log4j2.17.2是应对Log4j2 RCE漏洞的重要更新,通过加强安全配置和限制危险功能,为Java应用程序提供了更坚固的安全屏障。对于依赖Log4j2的系统而言,及时升级至该版本是保障系统安全、防范潜在风险的有效手段...
描述中的"NULL"意味着没有额外的具体信息,但我们通常可以从Log4j的使用上下文中了解到,它广泛用于调试、性能分析和系统监控,通过输出详细的运行时信息帮助开发者理解程序状态和追踪问题。 **标签解析** "源码...
在安装Log4j插件后,可以解决开发环境中找不到Log4j的问题,从而顺利进行ophone应用的开发和调试。 总的来说,Eclipse Log4j插件是Java开发中提高日志管理效率的重要工具,它不仅简化了日志的输出,还提供了与IDE...
### Log4j配置与加载方法详解 Log4j是一款由Apache出品的日志记录工具,它提供了灵活的日志级别控制和多样化的日志输出...开发者应根据具体的应用环境和日志管理策略,合理配置log4j,以提升应用的稳定性和可维护性。
Log4j2是一款广泛使用的Java日志记录框架,它的核心在于提供高效、灵活的日志记录功能,便于开发者在应用程序中追踪错误、调试信息以及性能数据。这个压缩包包含的两个关键文件——`log4j-api-2.11.1.jar`和`log4j-...
例如,如果应用程序使用的是UTF-8编码,而log4j默认使用的是系统默认编码(如GBK),那么就可能出现中文乱码的情况。 #### 三、解决方案 解决log4j乱码的关键在于正确地配置字符编码。下面介绍具体的步骤: 1. **...
最后,`log4j-core-2.0-rc1.jar`是Log4j 2.x的实现库,它实现了`log4j-api-2.0-rc1.jar`中定义的接口,包含具体的日志处理逻辑和各种Appender、Filter和Layout的实现。这个库使得开发者可以实际使用Log4j 2的功能,...
Log4j作为Java领域广泛应用的日志框架,提供了强大的日志记录功能和灵活的配置。本文将深入探讨log4j的配置以及配置文件的详解。** 首先,我们要理解什么是`log4j.properties`文件。这是log4j框架的配置文件,使用...
在给定的压缩包中,还有一个`log4j-slf4j-impl-2.11.2.jar`,它是SLF4J到Log4j 2的具体绑定实现。这意味着你可以使用SLF4J的接口,但日志实际上会通过Log4j 2进行处理。这个绑定使得在项目中同时使用SLF4J的抽象和...
Log4j,作为Apache开源组织的一个杰出项目,长期以来一直是Java应用程序首选的日志框架之一。然而,随着技术的发展,安全问题也日益凸显,Log4j 2.15.1-RC1的发布,正是针对此类问题进行的一次关键更新,旨在修复...
Log4j是Apache的一个开源项目,它提供了一个灵活的日志框架,允许开发者在Java应用程序中进行日志记录。 描述中提到的是针对Struts2漏洞的解决方案。Struts2是一个流行的MVC框架,历史上曾出现过严重的安全漏洞。...
SLF4J提供了一个抽象层,允许开发者在运行时插入所需的日志实现,而Log4j则是一个具体的日志实现,以其强大的功能和灵活性著称。下面将详细解释这两个组件以及它们如何协同工作。 1. SLF4J简介: SLF4J(Simple ...
Log4j是Apache组织提供的一款开源日志记录框架,它为Java应用程序提供了灵活且强大的日志处理能力。Log4j的主要目标是简化日志记录过程,使其能够适应各种复杂的运行环境,并且支持不同的日志级别和输出格式,便于...
### Log4j 应用详解 #### 一、Commons-Logging与Log4j的结合使用 **背景介绍** 在Java开发领域,日志记录是一个不可或缺的部分,它帮助开发者跟踪程序运行状态,诊断问题,以及优化性能。Log4j 和 Commons-...