前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Log4J使用快速入门

Log4J使用快速入门

作者头像
卡尔曼和玻尔兹曼谁曼
发布2019-01-25 14:46:57
6780
发布2019-01-25 14:46:57
举报

基本概念

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的日志文件输出错误信息:

代码语言:javascript
复制
log4j.rootLogger = debug, R, D, E

log4j.appender.R =org.apache.log4j.ConsoleAppender
log4j.appender.R.Target = System.out
log4j.appender.R.layout =org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=  [%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M]%m%n

log4j.appender.D =org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout =org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern =[%d{HH:mm:ss:SSS}][%C-%M] -%m%n

 
log4j.appender.E =org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout =org.apache.log4j.PatternLayout
log4j.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文件夹下,程序如下:

代码语言:javascript
复制
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!");
	}
}

运行结果如下:

代码语言:javascript
复制
[14/11/20 21:55:47:759][cn.tzy.log4j.LogDemo-main] This is a test!

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年11月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档