Log4J使用快速入门

来源:互联网 发布:奚梦瑶失误 知乎 编辑:程序博客网 时间:2024/05/24 07:16

基本概念

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。

 

Log4j中有三个比较重要的的类:

Logger:日志记录器,供程序输出日志信息。

Appender:日志目的地,把格式化好的日志信息输出到到指定地方。

Layout:日志格式化器,以指定格式输入日志信息。

 

Log4j提供的appender有以下几种:

org.apache.log4j.ConsoleAppender(控制台),

org.apache.log4j.FileAppender(文件),

org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),

org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),

org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

 

Log4j提供的layout有以下几种:

org.apache.log4j.HTMLLayout(以HTML表格形式布局),

org.apache.log4j.PatternLayout(可以灵活地指定布局模式),

org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

 

使用方法

一:添加log4j jar包

二:配置log4j

Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(一般命名为log4j.properties)。

下面是一个示例文件,定义了输出信息基本为Debug,然后分别定义了三个输出目的地R为控制台输出,D为log.log的日志文件,E为error.log的日志文件输出错误信息:

log4j.rootLogger = debug, R, D, Elog4j.appender.R =org.apache.log4j.ConsoleAppenderlog4j.appender.R.Target = System.outlog4j.appender.R.layout =org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=  [%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M]%m%nlog4j.appender.D =org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.Append = truelog4j.appender.D.Threshold = DEBUGlog4j.appender.D.layout =org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern =[%d{HH:mm:ss:SSS}][%C-%M] -%m%n log4j.appender.E =org.apache.log4j.DailyRollingFileAppenderlog4j.appender.E.File = logs/error.loglog4j.appender.E.Append = truelog4j.appender.E.Threshold = ERRORlog4j.appender.E.layout =org.apache.log4j.PatternLayoutlog4j.appender.E.layout.ConversionPattern =[%d{HH:mm:ss:SSS}][%C-%M] -%m%n

三:在程序中使用log4j

1.得到记录器

 使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息。一般使用如下语句:

    static Logger logger = Logger.getLogger ( Test.class );

2.读取配置文件

 当获得了日志记录器之后,第二步将配置Log4j环境,其语法为:

    BasicConfigurator.configure(): 自动快速地使用缺省Log4j环境。

    PropertyConfigurator.configure(String configFilename) :读取使用Java的特性文件编写的配置文件。

 DOMConfigurator.configure(String filename) :读取XML形式的配置文件。

3.插入记录信息(格式化日志信息)

 当上两个必要步骤执行完毕,您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方,其语法如下:

 Logger.debug(Object message) ;

 Logger.info(Object message) ;

 Logger.warn(Object message) ;

 Logger.error(Object message) ;


下面是一个实例:

log4j配置文件使用上面给出的配置文件,配置文件放置在src文件夹下,程序如下:

package cn.tzy.log4j;import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator;public class LogDemo {public static void main(String[] args) {Logger logger= Logger.getLogger(LogDemo.class);PropertyConfigurator.configure(LogDemo.class.getResource("/log4j.properties"));logger.info("This is a test!");}}

运行结果如下:

[14/11/20 21:55:47:759][cn.tzy.log4j.LogDemo-main] This is a test!

此外还会在工程目录下产生一个logs文件夹,可以查看里面的log文件内容!

0 0
原创粉丝点击