Log4j配置

       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

这里首先配置根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 - info
2010-10-28 14:42:57,375-[TS] WARN main com.test.log4j.Log4JSample - warn
2010-10-28 14:42:57,375-[TS] ERROR main com.test.log4j.Log4JSample - error
2010-10-28 14:42:57,375-[TS] FATAL main com.test.log4j.Log4JSample - fatal
   log4j的配置初始化只需要一次就可以了,一般在系统初始化时进行log4j的初始化工作,然后就可以在系统的任何地方使用log4j了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值