使用日志记录工具log4j

网上有log4j是管理日志信息的。log4j由三个重要的组件构成:日志信息的优先级、日志信息的输出目的地、日志信息的输出格式。日志信息的优先级从高到低有Error、warn、info、debug,分别用来

指定这条日志信息的重要程度:日志信息的输出目的地指定了日志将打印到控制台还是文件中,而输出格式则控制了日志信息的显示内容。
定义配置文件:log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面介绍使用java特性文件作为配置文件的方法:
1、配置根Logger,其语法为:
log4j.rootLogger = [level],appenderName,appenderName,
其中,level是日志记录的优先级,分为off、fatal、error、warn、info、debug、all或者您定义的级别。log4j建议只使用四个级别,优先级从高到低分别是error、warn、info、debug。通过在这里定

义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有debug级别的日志信息将不被打印出来。appenderName就是指定日志信息输出到哪个地方

。您可以同时指定多个输出目的地。
2、配置日志信息输出目的地Appender,其语法为:
log4j.appender.appenderName=fully.qualified.name.of.appender.class
log4j.appender.appenderName.options=value1
log4j.appender.appenderName.options=value2
log4j.appender.appenderName.options=value3
log4j.appender.appenderName.options=value4

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

3、配置日志信息的格式(布局),其语法为:
log4j.appender.appenderName.layout=fully.qualified.name.of.layout.class

log4j.appender.appenderName.layout.option1=value1
log4j.appender.appenderName.layout.option1=value2
log4j.appender.appenderName.layout.option1=value3
log4j.appender.appenderName.layout.option1=valuen

其中,log4j提供的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平台为“\r\n”,Unix平台为"\n"
%d  输出日志事件点的日期或时间。默认格式为ISO8601,也可以再其后指定格式,比如:%d{yyyy MM dd hh:mm:ss,SSS},输出类似:2012年6月19日  21:46:28,987
%l  输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。


使用日志记录工具log4j

步骤:
1.在项目中添加log4j的jar包:
项目名右键->Properties(属性)
->选择java build path->选择libraries
->选择Add external Jars
->选择log4j.jar包确定完成
2.创建log4j.properties文件
log4j.properties必须放到src目录下,文件名必须是log4j。
3.编写log4j.properties文件
4.在程序中使用log4j记录日志信息


首先为你的项目添加log4j的jar包。
在你的项目的src下创建一个文件,名为log4j.properties;文件里不要有中文,如果有的话需要用native2asiic转换成Unicode码。文件内容是:

#以控制台的形式输出
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=%d{yyyy-MM-dd HH:mm:ss}  %m%n


#以文件的形式输出
log4j.appender.file=org.apache.log4j.FileAppender
#输出文件的名称,实际在工程中的位置是和src同一级别
log4j.appender.file.File=accp.log
#指定布局模式
log4j.appender.file.layout=org.apache.log4j.PatternLayout
#输出到文件的内容格式
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}  %l  %m%n
#日志信息的输出地,可以同时指定多个输出地,再次分别是info stdout file 三种形式
log4j.rootLogger=info, stdout, file



做一个测试类:
package test;

import org.apache.log4j.Logger;

public class TeacherTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        //创建日志对象
        Logger log=Logger.getLogger("TeacherTest");
//        Teacher teacher = new Teacher();
        try {
            log.debug("程序开始,记录日志");
//            teacher.setId("088");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            log.error("长度必须是7位数字");
            //e.printStackTrace();
        }
        log.info("日志记录结束");
        //System.out.println("程序结束!");
        
    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值