我是靠谱客的博主 简单饼干,最近开发中收集的这篇文章主要介绍Log4j配置文件Log4j配置文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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配置文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部