log4j的log4j.properties文件详解
源码
log4j.rootLogger=debug,contrl,file
log4j.appender.contrl=org.apache.log4j.ConsoleAppender
log4j.appender.contrl.layout=org.apache.log4j.PatternLayout
log4j.appender.contrl.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=D:/env/log/log.txt
log4j.appender.file.layout=org.apache.log4j.PatternLayout
代码详解:
1.设置logger的级别(debug,info,warning,error)和数据输出的位置
log4j.rootLogger=debug,contrl,file
级别
这里的debug是这个根logger的级别
contrl是指控制台,file是指文件
2. 设置输出到控制台或者文件的格式
log4j.appender.contrl=org.apache.log4j.ConsoleAppender
log4j.appender.contrl.layout=org.apache.log4j.PatternLayout
log4j.appender.contrl.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
输出到contrl控制台上
appender:
log4j.appender.contrl=org.apache.log4j.ConsoleAppender
用来控制日志输出的位置,管理日志语句输出的结果,用来接收logger发送来的日志,且log4j允许将日志请求输出到多个目的地
org.apache.log4j.ConsoleAppender
//控制台
org.apache.log4j.FileAppender
//文件
特别的:
org.apache.log4j.DailyRollingFileAppender
//每天产生一个日志文件
org.apache.log4j.RollingFileAppender
//文件大小到达一定值是产生一个新的文件
org.apache.log4j.WriterAppender
//将日志以流格式发送到任意指定位置
org.apache.log4j.JDBCAppender
//把日志用JDBC记录到数据库
layout:
log4j.appender.contrl.layout=org.apache.log4j.PatternLayout
这里可以设置输出的格式:
决定Appender将日志语句写入目的地的时候,采用的输出信息的格式
常用:
org.apache.log4j.PatternLayout
//根据模板布局(默认布局)
org.apache.log4j.HTMLLayout
//HTML表格形式布局
org.apache.log4j.SimpleLayout
//包含日志信息的级别,和信息的字符串(内容)
org.apache.log4j.TTCCLayout
//包含日志生产的线程,类别,内容等信息
log4j.appender.contrl.layout.ConversionPattern=%d %5p [%t] (%F:%L) - %m%n
这里可以设置输出的指定信息:
%m 输出代码中指定的消息
%p 输出优先级,DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出root用户
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数
-X号: X信息输出时左对齐
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
%%: 输出一个"%"字符
%F: 输出日志消息产生时所在的文件名称
%L: 输出代码中的行号
将这些信息输入就能实现用自己的格式来输出到日志文件啦!!