`
LegendBeen
  • 浏览: 8704 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Log4j 配置说明

阅读更多

1.Log4j的优点

  Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送地;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

  log4j的好处在于:

  (1) 通过修改配置文件,就可以决定log信息的目的地——控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等。

  (2) 通过修改配置文件,可以定义每一条日志信息的级别,从而控制是否输出。在系统开发阶段可以打印详细的log信息以跟踪系统运行情况,而在系统稳定后可以关闭log输出,从而在能跟踪系统运行情况的同时,又减少了垃圾代码(System.out.println(......)等)。

  (3) 使用log4j,需要整个系统有一个统一的log机制,有利于系统的规划。

2.配置文件

  Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。

  2.1 日志信息的优先级

  Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。如在这里定义了INFO级别,则应用程序中所有低于INFO级别的日志信息将不被打印出来。

  2.2 输出源的使用

  有选择的能用或者禁用日志请求仅仅是Log4j的一部分功能。Log4j允许日志请求被输出到多个输出源。用Log4j的话说,一个输出源被称做一个Appender。

  Appender包括console(控制台), files(文件), GUI components(图形的组件), remote socket servers(socket 服务), JMS(java信息服务), NT Event Loggers(NT的事件日志), remote UNIX Syslog daemons(远程UNIX的后台日志服务)。它也可以做到异步记录。 一个logger可以设置超过一个的appender。 用addAppender方法添加一个appender到一个给定的logger。对于一个给定的logger它每个生效的日志请求都被转发到该logger所有的appender上和该logger的父辈logger的appender上。

         2.2.1 ConsoleAppender

  如果使用ConsoleAppender,那么log信息将写到Console。效果等同于直接把信息打印到System.out上了。

      2.2.2 FileAppender

  使用FileAppender,那么log信息将写到指定的文件中。这应该是比较经常使用到的情况。 相应地,在配置文件中应该指定log输出的文件名。如下配置指定了log文件名为log.txt。

  log4j.appender.appendername.File=log.txt 注意将appendername替换为具体配置中Appender的别名。

  注意:指定的log文件路径问题(默认为tomcatwebapp目录)

          2.2.3 DailyRollingAppender

  使用FileAppender可以将log信息输出到文件中,但是如果文件太大了读起来就不方便了。这时就可以使用DailyRollingAppender。DailyRollingAppender可以把Log信息输出到按照日期来区分的文件    中。配置文件就会每天(时间可以设定)产生一个log文件,每个log文件只记录当天的log信息:

 

#log to file
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
#the file path base on ${catalina_home}/webapp
log4j.appender.logfile.File=../logs/hrm.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p [%c] - %m%n

            2.2.4 RollingFileAppender

  文件大小到达指定尺寸的时候产生一个新的文件。

log4j.appender.R=org.apache.log4j.RollingFileAppender
#文件设置在tomcat目录下的logs子目录中
log4j.appender.R.File=../logs/hrm.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

 这个配置文件指定了输出源R,是一个轮转日志文件。最大的文件是100KB,当一个日志文件达到最大尺寸时,Log4J会自动把hrm.log重命名为hrm.log.1,然后重建一个新的hrm.log文件,依次轮转。

2.2.5 WriterAppender

  将日志信息以流格式发送到任意指定的地方。

  2.3 Layout的配置

  Layout指定了log信息输出的样式。

  2.3.1 布局样式

org.apache.log4j.HTMLLayout(以HTML表格形式布局),  
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),  
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),  
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

  2.3.2 格式

%m 输出代码中指定的消息  
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL  
r 输出自应用启动到输出该log信息耗费的毫秒数  
%c 输出所属的类目,通常就是所在类的全名  
%t 输出产生该日志事件的线程名  
%n 输出一个回车换行符,Windows平台为"rn",Unix平台为"n"  
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921  
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(Test Log4.java:10) 

 

3、完整例子

log4j.rootLogger=debug, stdout, logfile

#log to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p [%c] - %m%n

#log to file
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
#the file path base on ${catalina_home}/webapp
log4j.appender.logfile.File=../logs/hrm.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] %-5p [%c] - %m%n

#log4j.appender.logfile=org.apache.log4j.RollingFileAppender
#log4j.appender.logfile.File=../logs/hrm.log
#log4j.appender.logfile.MaxFileSize=100KB
#log4j.appender.logfile.MaxBackupIndex=1
#log4j.appender.logfile.layout.ConversionPattern=%p %t %c - %m%n

 

1
0
分享到:
评论

相关推荐

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

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

    log4j配置说明

    `log4j.properties`是Log4j的主要配置文件,采用Java Properties格式,用于定义日志输出的模式、级别、目的地等。下面是一个基础的`log4j.properties`配置示例: ```properties # 设置全局日志级别 log4j.root...

    Eclipse 环境下 log4j配置说明及所需jar包.rar

    本文主要围绕"Eclipse环境下log4j配置说明及所需jar包"这一主题,详细阐述log4j的使用、配置以及所需依赖。 首先,log4j是Apache的一个开源项目,提供了一个灵活的日志框架,广泛应用于Java应用程序中。它的核心...

    深入了解log4j配置说明

    ### 深入了解log4j配置说明 #### 一、Log4j简介与功能特点 Log4j作为Apache组织下的一个开源项目,为开发者提供了一种强大的日志记录工具。借助于Log4j,开发人员可以灵活地控制日志信息的输出方式,包括输出到...

    log4j配置说明使用

    **log4j配置说明使用** 在Java开发中,日志记录是不可或缺的一部分,它帮助开发者追踪应用程序的运行状态,定位错误和调试问题。log4j是Apache组织提供的一款开源的日志记录工具,因其强大的功能和灵活性,被广泛...

    log4j配置使用说明及JAR包

    压缩包中的"**log4j配置说明及所需jar包**"包含了Log4j的库文件,包括`log4j.jar`和其他可能的依赖。确保将这些JAR包添加到项目的类路径(Classpath)中,这样你的程序才能正确识别并使用Log4j。 **四、代码示例** ...

    log4j日志配置以及配置文件详解

    接下来,`log4j配置说明.txt`文件通常会提供更详细的解释和示例,包括如何配置不同的appender(如FileAppender、RollingFileAppender等),如何定义不同logger的级别,以及如何使用自定义的error handler和filter。...

    log4j配置文件说明(完整版)

    Log4j 配置文件说明 Log4j 是一种流行的日志记录工具,用于记录和管理应用程序中的日志信息。配置文件是 Log4j 的核心组件之一,通过配置文件可以控制日志记录的级别、输出目的地和格式。在本文中,我们将详细介绍 ...

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

    ### Log4j日志配置详解 #### 一、概述 Log4j 是一个基于 Java 的开源日志记录框架,由 Apache 软件基金会维护。它允许开发人员根据等级记录日志信息,使得用户能够控制日志信息的记录级别及去向。本文将通过一份...

    Log4j配置文件详细说明

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

    log4j集成syslog配置说明

    #### log4j配置 在Java应用中,我们可以通过修改`log4j.properties`文件来集成syslog。具体步骤如下: 1. 在`log4j.rootLogger`中增加一个新的appender,例如命名为`syslog`。 2. 设置appender的相关属性: ```...

    Log4J完整说明和配置

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

    log4j详细配置说明

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

    log4j详解配置说明

    ### Log4j 配置详解 #### 一、概述 Log4j 是一款非常流行的 Java 日志框架,它提供了一种灵活的日志记录机制。在实际应用中,开发者可以通过简单的配置来实现对日志级别的控制、日志信息的格式化以及日志文件的...

    log4j.properties的配置说明

    log4j.properties 配置说明 log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;...

    log4j配置详解与使用方法说明

    ### 二、Log4j配置 Log4j 的配置主要通过 `log4j.properties` 或 `log4j.xml` 文件完成,这里我们以 `log4j.properties` 文件为例进行说明。 1. **配置Appender** - **Console Appender**:将日志输出到控制台。 ...

    log4j使用手册和配置文件示例

    这是log4j的官方手册,提供了全面的使用指南和配置说明,可以帮助开发者深入理解log4j的功能和用法。 **T_LOG4J.sql** 这可能是一个SQL脚本,用于创建与log4j相关的数据库表,如果日志被配置存储在数据库中,这个...

    Log4j 相对路径配置

    2. `<param-name>log4jConfigLocation</param-name>` 指定了Log4j配置文件的路径,这里是`WEB-INF/config/log4j.properties`。这个配置告诉Web应用在哪里寻找Log4j的配置信息。 3. `<param-name>log4...

Global site tag (gtag.js) - Google Analytics