`
tao415652813
  • 浏览: 14740 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

log4j详细说明

阅读更多

log4j简介和只有Logger类创建日志器
2007年06月08日 星期五 上午 10:33
Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。
1.   Log4j配置文件的语法
配置根Logger : log4j.rootLogger = [ level ] , appenderName, appenderName, …
level 是日志记录的优先级 , logger的level越低,表示该logger越详细 ; logging request的level越高,表示该logging request越优先输出 .  appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地.
DEBUG Level指出细粒度信息事件对调试应用程序是非常有帮助的
INFO level表明 消息在粗粒度级别上突出强调应用程序的运行过程
WARN level表明会出现潜在错误的情形
ERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行
FATAL level指出每个严重的错误事件将会导致应用程序的退出
ALL Level是最低等级的,用于打开所有日志记录
OFF Level是最高等级的,用于关闭所有日志记录
Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
2. 代码中使用Log4j
i.   获取日志记录器,这个记录器将负责控制日志信息.
语法为: public static Logger getLogger( String name),通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器.
a . 用同名参数调用Logger.getLogger(String name)将返回同一个logger的引用。故可以在一个地方配置logger,在另外一个地方获得配置好的logger,而无须相互间传递logger的引用。即可在配置文件中配置log4j.logger.ID_LOG=DEBUG,A2    而private static Logger debug = Logger.getLogger("ID_LOG");将返回同一个logger的引用.
b. logger的创建可以按照任意的顺序,即,父logger可以后于子logger被创建。log4j将自动维护logger的继承树。
ii.  配置Log4j环境.
语法为: BasicConfigurator.configure (): 自动快速地使用缺省Log4j环境。 PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。 DOMConfigurator.configure ( String filename ) :读取XML形式的配置文件。
iii.  插入记录信息
语法为:
Logger.debug ( Object message ) ;
Logger.info ( Object message ) ;
Logger.warn ( Object message ) ;
Logger.error ( Object message ) ;
3. 输出格式
# %c 输出日志信息所属的类别的全名
# %d 输出日志时间点的日期或时间,指定格式的方式:%d{yyy-MM-dd HH:mm:ss }
# %l   输出日志事件的发生位置,即输出日志信息的语句处于它所在的类别的第几行
# %m 输出信息,如log(message)中的message。
# %n   输出一个列尾符号
# %p   输出优先阶层, 即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,即为DEBUG
# %r 输出自应用启动到输出该日志信息所耗费的毫秒数
# %t 输出产生该日志事件的线程名
# %f 输出日志信息所属的类别的类别名
Log4jDemo.java 代码
package com.nikee.log4j;  
 
import org.apache.log4j.Logger;  
import org.apache.log4j.PropertyConfigurator;  
 
public class Log4jDemo {  
    public static void main(String argv[]) {  
        // Use the default configuration.  
         PropertyConfigurator.configure("./src/com/nikee/log4j/log4j.properties");  
         
        //Create a logger by the name of class Log4jTest.  
        Logger logger = Logger.getLogger(Log4jDemo.class);  
 
        // These requests will be enabled.  
         logger.info("This is an info.");  
         logger.warn("This is a warning.");  
         logger.error("This is an error.");  
         logger.fatal("This is a fatal error.");  
    }  

log4j.properties文件
log4j.rootLogger=INFO, A1, A2  
 
# A1 is set to be a ConsoleAppender.  
log4j.appender.A1=org.apache.log4j.ConsoleAppender  
log4j.appender.A1.layout=org.apache.log4j.PatternLayout  
log4j.appender.A1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n  
 
# A2 is set to be a file  
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.A2.layout=org.apache.log4j.PatternLayout  
log4j.appender.A2.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M] %m%n  
log4j.appender.A2.File=./src/com/nikee/log4j/Log4jDemo.log   
Log4j的编码习惯
1. 让每个类都拥有一个private static的Logger对象,用来输出该类中的全部日志信息
2. 使用xml文件来完成对log4j环境的配置。在项目的main class中的静态初始化块里放log4j环境的配置代码。注意:在一个项目中,log4j环境只需要被配置一次,而不是在每个使用了logger的类里都需要调用一次
3. 用MyClass.class作为参数创建该类的静态Logger对象

此文章为转载

分享到:
评论

相关推荐

    如何使用log4j详细说明

    log4j 使用的详细说明教程,新手快下。。

    log4j详细配置说明

    ### Log4j 详细配置说明 #### 一、Log4j 简介与特性 在当前强调可重用组件的软件开发环境中,Apache 的 Log4j 为开发者提供了强大的日志管理工具。Log4j 不仅开源免费,还具备高度的灵活性与可配置性,支持多种...

    Log4J完整说明和配置

    ### Log4J完整说明与配置解析 #### 一、Log4J简介 Log4J是Apache的一个开源项目,用于提供灵活的日志记录功能。通过它,开发者能够控制日志信息的输出级别、输出目的地(控制台、文件等)、格式化方式等。本文将...

    log4j详细说明文档

    Log4j作为Apache旗下的开源日志框架,其设计与实现为开发者提供了强大的日志处理能力。本文将深入探讨Log4j的关键概念、组件及其在实际应用中的配置与使用。 ### Log4j概述 Log4j,全称为Logging for Java,是Java...

    Log4j配置说明.rar,Log4j配置说明.rar

    Log4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rar,Log4j配置,Log4j Log4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rarLog4j配置说明.rar,Log4j配置,Log4j

    Log4j2、Fastjson、Log4j的BurpSuite插件亲测有效

    Log4j、Log4j2和Fastjson的安全性问题在过去曾引起广泛关注,例如Log4j2的CVE-2021-44228(也被称为Log4Shell漏洞),这是一个远程代码执行漏洞,影响了许多使用Log4j2的系统。这个插件可能就是为了检测和利用这些...

    Log4j配置文件详细说明

    在`Log4j配置文件详细说明[转].htm`和`Log4j配置文件详细说明[转]_files`这两个文件中,应包含了更详细的实例和说明,可以帮助深入理解每个属性的实际作用和配置方法。在实践中,不断试验和调整,你会发现Log4j是一...

    log4j-API-最新稳定版本log4j-1.2.17

    这表明我们可以从这个文件中获取Log4j 1.2 API的详细使用指南和参考文档。 **Log4j API知识点** 1. **日志级别**:Log4j API支持多个日志级别,如DEBUG、INFO、WARN、ERROR和FATAL。这些级别允许开发者根据需要...

    Log4j.properties详细说明

    下面是 Log4j.properties 文件的详细配置解释。 配置文件格式 Log4j 配置文件的基本格式如下: ``` # 配置根 Logger log4j.rootLogger = [level] , appenderName1, appenderName2, … # 配置日志信息输出目的地 ...

    Log4j日志配置说明,Log4j日志配置说明

    本文将通过一份示例文档来详细解析 Log4j 的日志配置方法。 #### 二、安装与配置 ##### 1. 安装 Log4j 包 首先,你需要下载并安装 Log4j。本示例中使用的是 `log4j-1.2.8.jar` 这个版本。将其复制到项目中的 `WEB...

    新版本与旧版本log4j.jar包下载,附使用说明----.zip

    5. **使用说明.txt**: 这份文档很可能是对如何在项目中配置和使用log4j.jar的指导,可能包含配置文件的创建、日志级别的设置、输出格式的定制以及如何在IDEA中引入log4j等内容。阅读这份说明可以帮助开发者快速上手...

    log4j集成syslog配置说明

    ### log4j集成syslog配置详解 在现代的IT运维管理中,日志记录与分析是确保系统稳定运行的关键环节之一。log4j作为Java应用中广泛使用的日志框架,其强大的日志处理能力得到了业界的认可。而syslog作为一种标准化的...

    log4j_jar包跟教程说明

    **日志框架Log4j详解** 在Java编程中,日志记录是一项不可或缺的功能,它能够帮助开发者追踪程序运行状态,定位错误,优化性能。Log4j是Apache组织提供的一款广泛使用的开源日志框架,适用于各种Java应用程序。本...

    Log4J 1.2.14 jar包和详细说明

    `log4j详解与实战 - 企业应用 - Java - JavaEye论坛.mht`则是一份详细的使用指南,可能包含了配置示例和实践案例。 首先,了解Log4J的核心组件至关重要。它主要由以下部分组成: 1. **Logger**: 这是日志记录的...

    Log4j使用说明文档

    Log4j 是一款广泛使用的Java日志框架,由Apache软件基金会的Jakarta项目开发。它提供了灵活的日志记录功能,允许开发者在不修改代码的情况下控制日志信息的输出,极大地提高了开发效率和维护性。Log4j 包含了丰富的...

    log4j配置说明

    **日志框架Log4j详解** 日志框架在软件开发中扮演着至关重要的角色,它提供了记录应用程序运行过程中的各种信息的功能,便于调试、监控和问题排查。Log4j是Apache组织开发的一个开源日志组件,广泛应用于Java项目中...

    Log4jAPI 应用案例 配置说明 log4jjar包

    本篇将详细介绍Log4j API的应用案例和配置说明。 1. **Log4j的核心组件** - **Logger**: 这是日志系统的主要入口点,用于创建和管理日志事件。你可以根据不同的模块或者类创建不同的Logger实例,以便分类记录日志...

    The Complete Log4j Manual

    通常,一本完整的手册会包括以下几个部分:介绍Log4j的基础知识、详细说明如何配置和使用Log4j、示例和最佳实践、高级配置技巧、性能优化建议、以及Log4j的二次开发等方面内容。读者可以根据个人需要,找到对应章节...

    log4j-to-slf4j-2.17.1-API文档-中文版.zip

    赠送jar包:log4j-to-slf4j-2.17.1.jar; 赠送原API文档:log4j-to-slf4j-2.17.1-javadoc.jar; 赠送源代码:log4j-to-slf4j-2.17.1-sources.jar; 赠送Maven依赖信息文件:log4j-to-slf4j-2.17.1.pom; 包含翻译后...

Global site tag (gtag.js) - Google Analytics