【Java日志】log4j配置详解

#设定日志的级别,以及日志所使用的appender
log4j.rootLogger=all, console, file

### 控制台 ###
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss,SSS} [%t] %c(%L) %M | [%p] %F | %m%n
log4j.appender.console.Threshold=error
## 以下为ConsoleAppender私有的配置
#参数:System.out; System.err
log4j.appender.console.Target=System.out

### 文件 ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss,SSS} [%t] %c(%L) %M | [%p] %F | %m%n
## 以下为File输出的私有配置
log4j.appender.file.Encoding=UTF-8
#File:指定日志文件的位置
log4j.appender.file.File=/logs/log/JCLLog.log
#Append:默认是true,即将消息增加到文件中,false指将消息覆盖到指定的文件内容
log4j.appender.file.Append=true

### 每指定时间生成一个日志文件###
log4j.appender.dayfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dayfile.layout=org.apache.log4j.PatternLayout
log4j.appender.dayfile.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss,SSS} [%t] %c(%L) %M | [%p] %F | %m%n
log4j.appender.dayfile.File=/logs/log/daylog
##以下为DailyRollingFileAppender的私有配置
log4j.appender.dayfile.DatePattern='_'yyyy-MM-dd_HH_mm'.log'
#DatePattern:日志滚动的时间周期
#yyyy-MM:每月;
#yyyy-ww:每周;
#yyyy-MM-dd:每天;
#yyyy-MM-dd-a:每天两次,上下午;
#yyyy-MM-dd-HH:每小时;
#yyyy-MM-dd-HH-mm:每分钟;

### 文件大小到达指定尺寸的时候产生一个新的文件###
log4j.appender.rollfile=org.apache.log4j.RollingFileAppender
log4j.appender.rollfile.layout=org.apache.log4j.PatternLayout
log4j.appender.rollfile.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss,SSS} [%t] %c(%L) %M | [%p] %F | %m%n
log4j.appender.rollfile.File=/logs/log/jcllog.log
##以下为RollingFileAppender的私有配置
#MaxFileSize:文件的最大大小,当文件到达该大小时,将会自动滚动,即将原来的内容移到xx.log.1文件,单位可以是:KB,MB,GB
log4j.appender.rollfile.MaxFileSize=100KB
#MaxBackupIndex:指定可以产生的滚动文件的最大数
log4j.appender.rollfile.MaxBackupIndex=22

### 将日志信息以流格式发送到任意指定的地方###
log4j.appender.writer=org.apache.log4j.WriterAppender

###### appender(输出端)######
#org.apache.log4j.ConsoleAppender(输出到控制台)
#org.apache.log4j.FileAppender(输出到文件)
#org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
#org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
#org.apache.log4j.WriterAppender(将日志信息以流的格式发送到任意指定的地方)
##输出端共同选项:
#log4j.appender.xxx.Threshold=WARN(指定当前appender打印日志的最低层次)
#log4j.appender.xxx.ImmediateFlush=true(默认为true,意味着所有的消息都会立即输出)

###### layout(日志格式化)######
#org.apache.log4j.HTMLLayout(以HTML表格形式布局)
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
#org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
#org。apache.log4j.TTCCLayout(包含日志产生的时间,线程,类别等等信息)

###### 打印信息替换符 ######
#%d {date}:输出当前时间,可以直接在其后指定格式,如:%d{yyyy/MM/dd HH:mm:ss}
#%p {priority}:输出优先级,即FATAL,ERROR,WARN,INFO,DEBUG,TRACE
#%m {message}:输出代码中指定的信息,即传入的要打印的内容
#%M {Method}:输出所在方法名
#%r {}:输出自项目启动到输出该log所耗费的毫秒数
#%c {category}:输出所属的类目,通常就是所在的类名
#%t {thread}:输出产生该日志的线程名
#%n {}:输出一个换行符,windows平台为“rn”,unix平台为“n”
#%l {line}:输出日志事件的发生位置,包括类目名,发生的线程,以及在代码中的行数,如果为%L,则只输出行数
#%F {File}:输出产生日志的文件名称

猜你喜欢

转载自blog.csdn.net/weixin_42601042/article/details/83002538