Log4j学习汇总(二)
来源:互联网 发布:qq邮箱for mac 编辑:程序博客网 时间:2024/05/17 08:53
原文地址:http://blog.csdn.net/meng2602956882/article/details/16951643
在实际应用中,要使Log4j在系统中运行须事先设定配置文件。配置文件事实上也就是对Logger、Appender及Layout进行相应设定。
Log4j支持两种配置文件格式,一种是XML格式的文件,一种是properties属性文件。下面以properties属性文件为例介绍log4j.properties的配置。
1.配置根Logger:
1 2
log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
3log4j.additivity.org.apache=false:表示Logger不会在父Logger的appender里输出,默认为true。
4level :设定日志记录的最低级别,可设的值有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别,Log4j建议只使用中间四个级别。通过在这里设定级别,您可以控制应用程序中相应级别的日志信息的开关,比如在这里设定了INFO级别,则应用程序中所有DEBUG级别的日志信息将不会被打印出来。5
appenderName:就是指定日志信息要输出到哪里。可以同时指定多个输出目的地,用逗号隔开。6
例如:log4j.rootLogger=INFO,A1,B2,C37
2.配置日志信息输出目的地(appender)
01 02
log4j.appender.appenderName = className03
appenderName:自定义appderName,在log4j.rootLogger设置中使用;04
className:可设值如下:05
(1)org.apache.log4j.ConsoleAppender(控制台)06
(2)org.apache.log4j.FileAppender(文件)07
(3)org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)08
(4)org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)09
(5)org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)10
(1)ConsoleAppender选项:11
Threshold=WARN:指定日志信息的最低输出级别,默认为DEBUG。12
ImmediateFlush=true:表示所有消息都会被立即输出,设为false则不输出,默认值是true。13
Target=System.err:默认值是System.out。14
(2)FileAppender选项:15
Threshold=WARN:指定日志信息的最低输出级别,默认为DEBUG。16
ImmediateFlush=true:表示所有消息都会被立即输出,设为false则不输出,默认值是true。17
Append=false:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。18
File=D:/logs/logging.log4j:指定消息输出到logging.log4j文件中。19
(3)DailyRollingFileAppender选项:20
Threshold=WARN:指定日志信息的最低输出级别,默认为DEBUG。21
ImmediateFlush=true:表示所有消息都会被立即输出,设为false则不输出,默认值是true。22
Append=false:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。23
File=D:/logs/logging.log4j:指定当前消息输出到logging.log4j文件中。24
DatePattern='.'yyyy-MM:每月滚动一次日志文件,即每月产生一个新的日志文件。当前月的日志文件名为logging.log4j,前一个月的日志文件名为logging.log4j.yyyy-MM。25
另外,也可以指定按周、天、时、分等来滚动日志文件,对应的格式如下:26
1)'.'yyyy-MM:每月27
2)'.'yyyy-ww:每周28
3)'.'yyyy-MM-dd:每天29
4)'.'yyyy-MM-dd-a:每天两次30
5)'.'yyyy-MM-dd-HH:每小时31
6)'.'yyyy-MM-dd-HH-mm:每分钟32
(4)RollingFileAppender选项:33
Threshold=WARN:指定日志信息的最低输出级别,默认为DEBUG。34
ImmediateFlush=true:表示所有消息都会被立即输出,设为false则不输出,默认值是true。35
Append=false:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。36
File=D:/logs/logging.log4j:指定消息输出到logging.log4j文件中。37
MaxFileSize=100KB:后缀可以是KB, MB 或者GB。在日志文件到达该大小时,将会自动滚动,即将原来的内容移到logging.log4j.1文件中。38
MaxBackupIndex=2:指定可以产生的滚动文件的最大数,例如,设为2则可以产生logging.log4j.1,logging.log4j.2两个滚动文件和一个logging.log4j文件。39
3.配置日志信息的输出格式(Layout)
01 02
log4j.appender.appenderName.layout=className03
className:可设值如下:04
(1)org.apache.log4j.HTMLLayout(以HTML表格形式布局)05
(2)org.apache.log4j.PatternLayout(可以灵活地指定布局模式)06
(3)org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)07
(4)org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)08
(1)HTMLLayout选项:09
LocationInfo=true:输出java文件名称和行号,默认值是false。
10Title=My Logging: 默认值是Log4J Log Messages。11
(2)PatternLayout选项:12
ConversionPattern=%m%n:设定以怎样的格式显示消息。13
格式化符号说明:14
%p:输出日志信息的优先级,即DEBUG,INFO,WARN,ERROR,FATAL。15
%d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy/MM/dd HH:mm:ss,SSS}。16
%r:输出自应用程序启动到输出该log信息耗费的毫秒数。17
%t:输出产生该日志事件的线程名。18
%l:输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类全名、方法、文件名以及在代码中的行数。例如:test.TestLog4j.main(TestLog4j.java:10)。
19%c:输出日志信息所属的类目,通常就是所在类的全名。20
%M:输出产生日志信息的方法名。21
%F:输出日志消息产生时所在的文件名称。22
%L::输出代码中的行号。23
%m::输出代码中指定的具体日志信息。24
%n:输出一个回车换行符,Windows平台为"rn",Unix平台为"n"。25
%x:输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。26
%%:输出一个"%"字符。27
另外,还可以在%与格式字符之间加上修饰符来控制其最小长度、最大长度、和文本的对齐方式。如:28
1) c:指定输出category的名称,最小的长度是20,如果category的名称长度小于20的话,默认的情况下右对齐。29
2)%-20c:"-"号表示左对齐。30
3)%.30c:指定输出category的名称,最大的长度是30,如果category的名称长度大于30的话,就会将左边多出的字符截掉,但小于30的话也不会补空格。31
附:Log4j比较全面的配置
01 02
本文固定链接: http://anyoneking.com/archives/649 | 懒散狂徒的博客
Log4j配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。03
log4j.rootLogger=DEBUG,console,dailyFile,im04
log4j.additivity.org.apache=true05
# 控制台(console)06
log4j.appender.console=org.apache.log4j.ConsoleAppender07
log4j.appender.console.Threshold=DEBUG08
log4j.appender.console.ImmediateFlush=true09
log4j.appender.console.Target=System.err10
log4j.appender.console.layout=org.apache.log4j.PatternLayout11
log4j.appender.console.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n12
13
# 日志文件(logFile)14
log4j.appender.logFile=org.apache.log4j.FileAppender15
log4j.appender.logFile.Threshold=DEBUG16
log4j.appender.logFile.ImmediateFlush=true17
log4j.appender.logFile.Append=true18
log4j.appender.logFile.File=D:/logs/log.log4j19
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout20
log4j.appender.logFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n21
# 回滚文件(rollingFile)22
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender23
log4j.appender.rollingFile.Threshold=DEBUG24
log4j.appender.rollingFile.ImmediateFlush=true25
log4j.appender.rollingFile.Append=true26
log4j.appender.rollingFile.File=D:/logs/log.log4j27
log4j.appender.rollingFile.MaxFileSize=200KB28
log4j.appender.rollingFile.MaxBackupIndex=5029
log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayout30
log4j.appender.rollingFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n31
# 定期回滚日志文件(dailyFile)32
log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender33
log4j.appender.dailyFile.Threshold=DEBUG34
log4j.appender.dailyFile.ImmediateFlush=true35
log4j.appender.dailyFile.Append=true36
log4j.appender.dailyFile.File=D:/logs/log.log4j37
log4j.appender.dailyFile.DatePattern='.'yyyy-MM-dd38
log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout39
log4j.appender.dailyFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n40
# 应用于socket41
log4j.appender.socket=org.apache.log4j.RollingFileAppender42
log4j.appender.socket.RemoteHost=localhost43
log4j.appender.socket.Port=500144
log4j.appender.socket.LocationInfo=true45
# Set up for Log Factor 546
log4j.appender.socket.layout=org.apache.log4j.PatternLayout47
log4j.appender.socket.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n48
# Log Factor 5 Appender49
log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender50
log4j.appender.LF5_APPENDER.MaxNumberOfRecords=200051
# 发送日志到指定邮件52
log4j.appender.mail=org.apache.log4j.net.SMTPAppender53
log4j.appender.mail.Threshold=FATAL54
log4j.appender.mail.BufferSize=1055
log4j.appender.mail.From = xxx@mail.com56
log4j.appender.mail.SMTPHost=mail.com57
log4j.appender.mail.Subject=Log4J Message58
log4j.appender.mail.To= xxx@mail.com59
log4j.appender.mail.layout=org.apache.log4j.PatternLayout60
log4j.appender.mail.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n61
# 应用于数据库62
log4j.appender.database=org.apache.log4j.jdbc.JDBCAppender63
log4j.appender.database.URL=jdbc:mysql://localhost:3306/test64
log4j.appender.database.driver=com.mysql.jdbc.Driver65
log4j.appender.database.user=root66
log4j.appender.database.password=67
log4j.appender.database.sql=INSERT INTO LOG4J (Message) VALUES('=[%-5p] %d(%r) --> [%t] %l: %m %x %n')68
log4j.appender.database.layout=org.apache.log4j.PatternLayout69
log4j.appender.database.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n70
71
# 自定义Appender72
log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender73
log4j.appender.im.host = mail.cybercorlin.net74
log4j.appender.im.username = username75
log4j.appender.im.password = password76
log4j.appender.im.recipient = corlin@cybercorlin.net77
log4j.appender.im.layout=org.apache.log4j.PatternLayout78
log4j.appender.im.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n79
本文固定链接: http://anyoneking.com/archives/649 | 懒散狂徒的博客
阅读全文
0 0
- Log4j学习汇总(二)
- Log4j学习汇总(一)
- log4j学习(二)
- Log4j 学习笔记(二)Log4j快速入门配置文件log4j.properties
- Log4J学习【二十】ConsoleAppender
- Log4j学习汇总—–配置详解
- Log4j学习汇总—–配置详解
- log4j简介(二)
- 机器学习(二) 学习规划及资料汇总
- Log4J学习【十七】Log4j的默认启动流程二
- Log4J学习【十七】Log4j的默认启动流程二
- log4j学习笔记(二)——log4j.xml的配置
- 机器学习题目汇总二
- Log4J学习【二】第一个日志示例
- Log4J学习【二】第一个日志示例
- Log4J学习【二十八】常用的Layout
- Log4j简明手册(二)
- Log4j简明手册(二)
- linux解压、解压缩文件
- 使用li标签布局
- Android酷炫实用的开源框架(UI框架)
- linux下通过V4L2驱动USB摄像头
- “+[SomeClass initialize] may have been in progress in another thread when fork() was called”
- Log4j学习汇总(二)
- Python学习,第二天
- springcloud学习二 Ribbon
- 信息安全 课后笔记(一)
- win系统安装配置GLPK及使用实例
- CentOS Redis 集群
- [LeetCode] 557.Reverse Words in a String III
- 2017年度北大软微学院创新创业论坛|悬镜分享DevSecOps的思考与实践
- darwin之task线程分类
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
果树微喷
直喷条幅机
高压旋喷价格
怎样喷香水更持久
喷播植草
喷滴灌
可撕喷膜
nike喷泡系列
喷车蜡
高压旋喷灌浆
喷刻一体机
纳米喷镀设备
高压旋喷防渗墙
喷烤漆房厂家
数码直喷印花机价格
高压旋喷注浆
喷镀设备
高压旋喷注浆泵
喷锌厂家
喷锌加工
喷浆泵
喷塑机厂家
湿喷机械手
喷锌喷铝加工
喷金粉
微喷带厂家
喷外墙漆
边坡喷锚
汽车钣喷流水线
喷锌价格
喷播植草价格
直喷印花机
纳米喷镀机
高压旋喷引孔
液压喷播植草
锚喷机
喷油机
喷房设备
手动喷油壶
喷烟机
不锈钢上喷字