Log4j配置

来源:互联网 发布:君君 淘宝佛珠 编辑:程序博客网 时间:2024/05/21 09:44

       log4J是java中最为常见的日志管理组件,通过log4j可以轻易的在任意代码位置输出日志,并可以灵活的控制日志的输出,是各种系统中不可缺少的功能组件。这里仅对log4j的配置作简单介绍说明。

      首先到log4j的官网下载log4组件,官网地址http://logging.apache.org/log4j/,本文使用log4j-1.2.12.jar版本的jar包。

      然后创建log4j配置文件。配置文件可以是xml格式或properties格式,文件名称可以为任意名称,可以存放在任意位置,一般缺省此配置文件名称为log4j.properties,缺省存储路径为webroot/WEB-INF/classes/log4j.properties。配置内容如下:

#配置根logger
log4j.rootLogger=ALL, stdout,R
 
#配置日志输出Appender——stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%d] %C.%M(%L) | %m%n
 
#配置另一个Appender——R
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=D:/logs/mylog.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
log4j.appender.R.Encoding=UTF-8
 
#配置输出级别
log4j.logger.com.test=DEBUG
log4j.logger.com.test.log4j=INFO
.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }

这里首先配置根logger,声明需要使用的Appender,随后配置Appender的各个属性,最后定义代码各个部分的输出级别。其中Appender可以使用log4j提供的5中预定义Appender,名称和用途分别为:

Appender类名

作 用

org.apache.log4j.ConsoleAppender 将日志输出到控制台 org.apache.log4j.FileAppender 将日志输出到文件 org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件 org.apache.log4j.RollingFileAppender 文件大小到达指定尺寸时产生一个新的文件 org.apache.log4j. WriterAppender 将日志信息以流格式发送到任意指定的地方

Appender的Layout包括4种类型,名称和用途分别为:

Layout类名

作 用

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

日志输出级别被定义为五个级别,按优先级从低到高依次为:debug->info->warn->error->fatal

有关log4j更详细的参数选项配置可以参考官方提供的帮助文档。

      配置文件创建好之后就可以在代码中使用log4j了,示例调用代码:

package com.test.log4j;import java.io.IOException;import java.io.InputStream;import java.util.Properties;import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator;public class Log4JSample {public Log4JSample() throws IOException{//初始化log4j的配置InputStream inStream = this.getClass().getClassLoader().getResourceAsStream("log4j.properties");Properties property = new Properties();property.load(inStream);PropertyConfigurator.configure(property);}public void doSample(){Logger logger = Logger.getLogger(Log4JSample.class);logger.debug("debug");logger.info("info");logger.warn("warn");logger.error("error");logger.fatal("fatal");}}

运行doSample方法,日志会输出到控制台和文件D:/logs/mylog.log中,输出结果:

2010-10-28 14:42:57,375-[TS] INFO main com.test.log4j.Log4JSample - info2010-10-28 14:42:57,375-[TS] WARN main com.test.log4j.Log4JSample - warn2010-10-28 14:42:57,375-[TS] ERROR main com.test.log4j.Log4JSample - error2010-10-28 14:42:57,375-[TS] FATAL main com.test.log4j.Log4JSample - fatal
   log4j的配置初始化只需要一次就可以了,一般在系统初始化时进行log4j的初始化工作,然后就可以在系统的任何地方使用log4j了。
原创粉丝点击