`
keepwork
  • 浏览: 330252 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
开发者博客:http://www.developsearch.com

日记记录的优先级由高到低分为 :
     OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL。
     Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这五个级别。

appender有以下几种:
  
  org.apache.log4j.ConsoleAppender(控制台),
  org.apache.log4j.FileAppender(文件),
  org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
  org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
  org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)



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


Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下:
   
  %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(TestLog4.java:10)


filter配置LevelMax与LevelMin限定输出到文件的日志级别
<filter class="org.apache.log4j.varia.LevelRangeFilter">  
          <param name="LevelMax" value="ERROR" />  
          <param name="LevelMin" value="DEBUG" />  
</filter>


【示例1】 输出为文本文件或HTML文件
#设置级别和多个目的地
log4j.rootLogger=debug,appender1,appender2

#输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
#设置输出样式
log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout

#输出到文件(这里默认为追加方式)
log4j.appender.appender2=org.apache.log4j.FileAppender
#设置文件输出路径
#【1】文本文件
#log4j.appender.appender2.File=c:/Log4JDemo02.log
#【2】HTML文件
log4j.appender.appender2.File=c:/Log4JDemo02.html
#设置文件输出样式
#log4j.appender.appender2.layout=org.apache.log4j.TTCCLayout
log4j.appender.appender2.layout=org.apache.log4j.HTMLLayout


【示例2】 自定义样式
#设置级别和目的地
log4j.rootLogger=debug,appender1

#输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
#设置输出样式
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
#自定义样式
# %r 时间 0
# %t 方法名 main
# %p 优先级 DEBUG/INFO/ERROR
# %c 所属类的全名(包括包名)
# %l 发生的位置,在某个类的某行
# %m 输出代码中指定的讯息,如log(message)中的message
# %n 输出一个换行

log4j.appender.appender1.layout.ConversionPattern=%r [%t] [%p] - %c -%l -%m%n



【示例3】 多目的地、自定义样式
#设置级别和目的地
log4j.rootLogger=debug,appender1,appender2

#输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
#设置输出样式
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
#自定义样式
# %r 时间 0
# %t 方法名 main
# %p 优先级 DEBUG/INFO/ERROR
# %c 所属类的全名(包括包名)
# %l 发生的位置,在某个类的某行
# %m 输出代码中指定的讯息,如log(message)中的message
# %n 输出一个换行符号
log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n

#输出到文件(这里默认为追加方式)
log4j.appender.appender2=org.apache.log4j.FileAppender
#设置文件输出路径
#文本文件
log4j.appender.appender2.File=c:/Log4JDemo06.log
#设置文件输出样式
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M] -%m%n



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.RollingFileAppender">
		<param name="File" value="logfile08.html" />
		<param name="MaxFileSize" value="1MB" />
		<param name="MaxBackupIndex" value="5" />
		<layout class="org.apache.log4j.HTMLLayout">
		</layout>
	</appender>

	<root>
		<level value="debug" />
		<appender-ref ref="appender1" />
	</root>
</log4j:configuration>





为了提高效率,我们可以在写日志前增加判断:
private static final Logger logger = Logger.getLogger(GetCurriculumListController.class);

// 记录debug级别的信息
if (logger.isDebugEnabled()) {
	logger.debug("This is debug message from Dao.");
}

// 记录info级别的信息
if (logger.isInfoEnabled()) {
	logger.info("This is info message from Dao.");
}

// 记录error级别的信息
logger.error("This is error message from Dao.");
分享到:
评论

相关推荐

    Log4j配置详解.pdf

    ### Log4j配置详解 #### 一、Log4j简介 Log4j是Apache的一个开源项目,用于实现灵活的日志管理。它允许开发者通过简单的配置文件来控制日志的输出等级、输出目的地以及日志信息的格式化方式。Log4j支持多种配置...

    log4j 配置详解

    log4j 配置详解

    Log4j配置详解

    ### Log4j配置详解 #### 一、Log4j组件概览 Log4j是一款流行的开源日志框架,由Apache软件基金会开发,广泛应用于Java应用的开发中,用于记录程序运行时的信息。其核心功能围绕着三个关键组件展开:**记录器...

    log4j配置详解 新手入门教程

    ### Log4j配置详解 #### 一、Log4j简介 Log4j是Apache的一个开源项目,用以实现日志功能。它通过简单的API提供强大的日志记录功能,并且允许用户自定义配置来控制日志的输出级别、输出格式、输出目的地等。Log4j在...

    log4j配置详解.

    ### Log4j配置详解 #### 一、Log4j配置文件概述 Log4j是一款流行的Java日志框架,被广泛应用于各种规模的应用程序中。它的配置文件(Configuration File)主要用于设置记录器(Logger)的级别、存放器(Appender)...

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

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

    log4j配置详解(带demo和jar包)

    Log4j配置文件——`log4j.properties` `log4j.properties`是Log4j的配置文件,其中定义了日志的行为。以下是一些关键配置项: - **`log4j.rootLogger`**: 指定日志记录器的默认级别及其使用的Appender。 - **`log...

    log4j配置详解总结资料

    `LOG4J配置全接触.htm`和`log4j属性含义.htm`则可能深入解释了Log4j配置文件中各种属性的含义和用法,帮助读者全面理解和掌握Log4j的配置。 总的来说,这些资料旨在帮助开发者更有效地利用Log4j进行日志管理,提高...

    log4j配置说明

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

    常用log4j的配置详解

    ### 常用log4j配置详解 #### log4j简介 Log4j是一个开源的日志框架,由Apache Software Foundation开发。它允许开发者通过简单的配置文件来定义日志的输出等级、输出目的地以及日志信息的格式等。这极大地提高了...

    log4j详解配置说明

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

    log4j使用详解log4j使用详解

    ### Log4j 使用详解 #### 一、Log4j简介 Log4j 是 Apache 的一个开源项目,通过使用 Log4j,开发者能够控制日志信息的输出等级及去向,从而更加灵活地处理日志信息。它具有强大的功能,简单的配置,并且能够支持...

    log4j.properties配置详解

    ### Log4j.properties配置详解 #### 一、Log4j配置文件基本概念 Log4j是一种广泛应用于Java应用程序的日志框架,它可以帮助开发者轻松管理应用程序的日志记录过程。Log4j支持多种配置方式,其中.properties文件...

    java程序log4j配置

    Java程序log4j配置详解 log4j是一个流行的Java日志记录工具,提供了灵活的日志记录和管理功能。在Java程序中,log4j配置正确是非常重要的,本文将详细介绍log4j配置的各个方面。 一、log4j配置文件 log4j的配置...

    log4j配置使用,描述了log4j的配置实用

    ### log4j配置详解 #### 一、log4j简介 Log4j 是一个开源的日志记录工具,它允许开发者自定义日志级别并能够输出丰富的日志信息。本篇文章将详细解读 log4j 的基本配置及使用方法,非常适合初学者理解和掌握。 ##...

Global site tag (gtag.js) - Google Analytics