概述
Log4j配置文件
文章目录
- Log4j配置文件
- 日志级别
- appender输出格式
- layout 日志信息格式
- Threshould 指定当前appender输出等级
- 根配置 log4j.rootLogger
- 使用例子
- * 实用例子
- 其他
日志级别
日志级别:
- OFF
- FATAL
- ERROR
- WARN
- INFO
- DEBUG
- ALL
由大及小,DEBUG会输出所有日志,OFF不会输出。
appender输出格式
appender输出类型:
- org.apache.log4j.ConsoleAppender(控制台),
- org.apache.log4j.FileAppender(文件),
- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
## ConsoleAppender选项
# 指定日志信息的最低输出级别,默认为DEBUG。
Threshold=WARN
# 表示所有消息都会被立即输出,设为false则不输出,默认值是true。
ImmediateFlush=true
# 默认值是System.out。
Target=System.err
## FileAppender选项
Threshold=WARN
ImmediateFlush=true
# true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true。
Append=false
# 指定消息输出到D:/logs/logging.log4j文件中。
File=D:/logs/logging.log4j
## DailyRollingFileAppender选项
Threshold=WARN
ImmediateFlush=true
Append=false
File=D:/logs/logging.log4j
# 每月滚动一次日志文件,即每月产生一个新的日志文件。当前月的日志文件名为logging.log4j,前一个月的日志文件名为logging.log4j.yyyy-MM。
DatePattern='.'yyyy-MM:
#另外,也可以指定按周、天、时、分等来滚动日志文件,对应的格式如下:
#1、'.'yyyy-MM:每月
#2、'.'yyyy-ww:每周
#3、'.'yyyy-MM-dd:每天
#4、'.'yyyy-MM-dd-a:每天两次
#5、'.'yyyy-MM-dd-HH:每小时
#6、'.'yyyy-MM-dd-HH-mm:每分钟
## RollingFileAppender选项
Threshold=WARN
ImmediateFlush=true
Append=false
File=D:/logs/logging.log4j
# 文件大小约束
MaxFileSize=100KB
# 指定可以产生的滚动文件的最大数,例如,设为2则可以产生logging.log4j.1,logging.log4j.2两个滚动文件和一个logging.log4j文件
MaxBackupIndex=2
## 若使用RollingFileAppender,会必须写以下两个属性
# 文件大小约束,超过则新创建文件
log4j.appender.RollingFile.MaxFileSize=1KB
# 最大记录文件数
log4j.appender.RollingFile.MaxBackupIndex=3
layout 日志信息格式
- org.apache.log4j.HTMLLayout(以HTML表格形式布局),
- org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
- org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
- org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
在LOG4J的配置文件中,log4j.appender.CATNAME.layout.ConversionPattern项中可配置日志输出格式.其中格式符代表的意义如下.
%n - 换行
%m - 日志内容
%p - 日志级别(FATAL, ERROR, WARN, INFO, DEBUG or custom)
%r - 程序启动到现在的毫秒数
%t - 当前线程名
%d - 日期和时间,
常用的格式有 %d{DATE}, %d{ABSOLUTE}, %d{HH:mm:ss,SSS}, %d{ddMMyyyy HH:mm:ss,SSS}
%F - java源文件名
%L - java源码行数
%C - java类名,%C{1} 输出最后一个元素
%M - java方法名
常用格式:
%d [%t] %-5p [%c] - %m%n
Threshould 指定当前appender输出等级
# 指定appenderName1的输出等级为ERROR
log4j.appender.appenderName1.Threshold = ERROR
#指定appenderName2的输出等级为DEBUG
log4j.appender.appenderName2.Threshold = DEBUG
根配置 log4j.rootLogger
格式:
log4j.rootLogger=[level],appenderName1,appenderName2...
将level等级的日志信息输出到appenderName1,appenderName2…
例如:
log4j.rootLogger=WARN,CONSOLE,logfile
将WARN等级日志输出到名为CONSOLE和logfile的appender,CONSOLE和logfile是自己起的名。
使用例子
#第一步:配置rootLogger
log4j.rootLogger=DEBUG, Console ,File ,DailyRollingFile ,RollingFile
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#File
log4j.appender.File = org.apache.log4j.FileAppender
log4j.appender.File.File = logs/log2.log
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
#DailyRollingFile
#每天生成一个日志文件
log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.DailyRollingFile.File = logs/log3.log
log4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.DailyRollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
#超过文件大小限制,就会生成一个新的文件
#RollingFile
log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender
log4j.appender.RollingFile.File = logs/log4.log
log4j.appender.RollingFile.MaxFileSize=1KB
log4j.appender.RollingFile.MaxBackupIndex=3
log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
* 实用例子
# 设置默认级别为debug;Console和FileDebug,FileError为3个输出appender
log4j.rootLogger=DEBUG, Console ,FileDebug ,FileError
#Console 控制台输出
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#log4j.appender.Console.Threshold=ERROR
#FileDebug 文件 输出默认的debug级别日志
log4j.appender.FileDebug = org.apache.log4j.FileAppender
log4j.appender.FileDebug.File = logs/debug.log
log4j.appender.FileDebug.layout = org.apache.log4j.PatternLayout
log4j.appender.FileDebug.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
#FileError 文件 只输出error级别日志
log4j.appender.FileError = org.apache.log4j.FileAppender
log4j.appender.FileError.File = logs/error.log
log4j.appender.FileError.layout = org.apache.log4j.PatternLayout
log4j.appender.FileError.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
log4j.appender.FileError.Threshold=ERROR
其他
# club.bagedate包下的日志单独输出
log4j.logger.club.bagedate=DEBUG,bagedate
# 设置为false该日志信息就不会加入到rootLogger中了
log4j.additivity.club.bagedate=false
# 下面就和上面配置一样了
log4j.appender.bagedate=org.apache.log4j.RollingFileAppender
log4j.appender.bagedate.Encoding=UTF-8
log4j.appender.bagedate.File=logs/bagedate.log
log4j.appender.bagedate.MaxFileSize=10MB
log4j.appender.bagedate.MaxBackupIndex=3
log4j.appender.bagedate.layout=org.apache.log4j.PatternLayout
log4j.appender.bagedate.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n
#定义sql语句的输出级别
log4j.logger.Java.sql.Connection=DEBUG
#Append 是否在文件内容后追加
#默认为true,追加。改为false,则覆盖原文件。
log4j.appender.FileError.Appender=false
最后
以上就是简单饼干为你收集整理的Log4j配置文件Log4j配置文件的全部内容,希望文章能够帮你解决Log4j配置文件Log4j配置文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复