标签:public font 定义 pattern html表格 插入 att 回车 error
和大多数配置文件一样,log4j配置文件也有key-value形式和xml形式。这里主要记录一下key-value的形式
我们通过配置,可以创建出Log4j的运行环境。Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。
一、直接看一个配置文件(log4j.properties)
# 配置根log,第一个参数为你想要输出的日志的等级,后面的是自定义的输出源(appender)
log4j.rootLogger = debug,console,I,E
### 这里定义第一个输出源的相关信息
#输出源console输出到控制台
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
#日志格式输出方式,选着这种方式需要自定义格式
log4j.appender.console.layout = org.apache.log4j.PatternLayout
#自定义格式
log4j.appender.console.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 输出INFO级别的日志信息到G://PetLoveWorkSpace//ZRJCashVip//logs/info.log
# I 是第二个输出源
log4j.appender.I = org.apache.log4j.DailyRollingFileAppender
log4j.appender.I.File = G://PetLoveWorkSpace//ZRJCashVip//logs/info.log
log4j.appender.I.Append = true
# 这里可以配置本输出源打印的级别
log4j.appender.I.Threshold = INFO
log4j.appender.I.layout = org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### print error to = E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =G://PetLoveWorkSpace//ZRJCashVip//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{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
这里配置,所有日志将会在控制台输出。另外,INFO级别的日志还会打印到info.log文件。ERROR级别的日志打印到error.log
二、log4j配置文件详解
1、log4j.rootLogger = debug,console,I,E
这里:log4j.rootLogger=日志级别,appender1, appender2, ….
2、log4j.appender.I = org.apache.log4j.DailyRollingFileAppender
这里:log4j.appender.appender1=org.apache.log4j.日志输出的地方
3、log4j.appender.I.File = G://PetLoveWorkSpace//ZRJCashVip//logs/info.log
这里: log4j.appender.appender1.File = 日志文件保存的地方
4、log4j.appender.I.Threshold = INFO
这里:根据日志别来打印,appender I 的级别是info,那么所有info级别的日志都将打印到appender I 指定的地方(一般是文件中嘛),比如,我上面配置文件中指定appender I 打印到info.log里。
这一条很有用,用这样的方法我们可以将error级别的之日信息单独打印到一个文件里,定位问题的时候就省去了再一堆日志文件里慢慢找错误信息的麻烦了。
5、log4j.appender.I.layout = org.apache.log4j.PatternLayout
这里:log4j.appender.appender1.layout=org.apache.log4j.日志布局格式
所谓的日志布局格式,就是指打印出来的日志适合什么样子的。
这里的例子使用了最后一个,这种灵活指定的布局格式我们需要加上第六条,显示指定打印的具体格式。其他三条,可以试试就知道是什么样的了。
6、log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
这里:log4j.appender.appender1.layout.ConversionPattern=日志输出格式。
日志输出格式是自己指定的,具体这些符号代表什么意思如下:
7、log4j.appender.I.Append = true
意思是在日志文件后追加。
三、关于log4j的应用,
1.得到记录器
使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息。其语法为:
public static Logger getLogger( String name)
通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。Name一般取本类的名字,比如:
static Logger logger = Logger.getLogger ( TestLog.class.getName () )
2.读取配置文件
当获得了日志记录器之后,第二步将配置Log4j环境.这里根据应用来配置加载log配置文件。
3、插入日志信息
就是在相应的业务逻辑处调用日志记录器,使用不同优先级别的日志记录语句插入到想记录日志的地方。
private static Logger logger = Logger.getLogger(TestLog.class);
logger.debug ( Object message ) ;
logger.info ( Object message ) ;
logger.warn ( Object message ) ;
logger.error ( Object message ) ;
具体使用方式比较简单,但是做好日志的记录方式,和打印内容还是很难的,好的日志记录,是对于排查系统的错误与异常很有帮助的。
要是打印的日志在系统出问题时帮不上任何忙,要它何用。
关于如何做好日志记录,我还任重道远,可以参考:http://www.cnblogs.com/rollenholt/p/5392338.html
标签:public font 定义 pattern html表格 插入 att 回车 error
原文地址:http://www.cnblogs.com/gonjan-blog/p/6538984.html