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
这里首先配置根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 - fatallog4j的配置初始化只需要一次就可以了,一般在系统初始化时进行log4j的初始化工作,然后就可以在系统的任何地方使用log4j了。
- log4j---log4j 的配置
- log4j.properties log4j 配置
- log4j配置log4j.properties
- [Log4j] 配置Log4j
- 配置Log4j,Log4j教程
- [Log4j] 配置Log4j
- log4j配置
- Log4j 配置
- Log4j配置
- log4j配置
- log4j配置
- LOG4J配置
- Log4j配置
- log4j配置
- log4j配置
- log4j配置
- log4j 配置
- log4j 配置
- boost:asio编译
- 写了个程序
- Android系统在超级终端下必会的命令大全【三(2)】
- maximo的使用—添加用户
- php int 探究
- Log4j配置
- ImgBurn v2.5.2.0刻录软件的使用
- Android系统在超级终端下必会的命令大全【四(1)】
- 加载swf的几种方法
- Java读写修改Property文件
- php 中文编码
- 用emacs做为C/C++集成开发环境
- 写的一个打乱文件行顺序的程序,效率还不错。
- Android系统在超级终端下必会的命令大全【四(2)】