log4j.properties简介

样例:


log4j.rootLogger=DEBUG,CONSOLE,A1,R,FILE1,FILE2,FILE3
log4j.addivity.org.apache=true


# 应用于控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
#log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n


# 每天新建日志
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=D\:/log4j.log
log4j.appender.A1.Threshold=DEBUG
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}\:%L \: %m%n




log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
#每天输出一个日志文件
log4j.appender.R.DatePattern='_'yyyy-MM-dd'.log'
#昨天的日志文件名Sendmsg+“昨天日期”.log
log4j.appender.R.File=D\:/log4j/debusssssg.log
#日志文件的路径,${catalina.home} 即Tomcat下
log4j.appender.R.layout=org.apache.log4j.HTMLLayout
#日志文件输出格式
#log4j.appender.R.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n




#应用于文件 (调试文件)
log4j.appender.FILE1=org.apache.log4j.FileAppender
log4j.appender.FILE1.File=D\:/log4j/debug.log
log4j.appender.FILE1.Threshold=DEBUG
log4j.appender.FILE1.Append=true
log4j.appender.FILE1.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE1.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n




#应用于文件 (INFO文件)
log4j.appender.FILE2=org.apache.log4j.FileAppender
log4j.appender.FILE2.File=D\:/log4j/INFO.log
log4j.appender.FILE2.Threshold=INFO
log4j.appender.FILE2.Append=true
log4j.appender.FILE2.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE2.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n


#应用于文件 (错误文件)
log4j.appender.FILE3=org.apache.log4j.FileAppender
log4j.appender.FILE3.File=D\:/log4j/error.log
log4j.appender.FILE3.Threshold=ERROR
log4j.appender.FILE3.Append=false
log4j.appender.FILE3.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE3.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n




1、log4j.rootLogger=INFO,db语法为:
     log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
     level : 是日志记录的优先级,由高到低分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。[level]指定了本日志的最低级别,比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
     appenderName:就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
     例如:log4j.rootLogger=info,A1,B2,C3 配置了3个输出地方,这个名字可以任意(如上面的db),但必须与我们在后面进行的设置名字对应;
2、log4j.addivity.org.apache=true/false,作用:children-logger是否使用 rootLogger的配置
示例:
#部分1
log4j.rootLogger=debug,stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %5p %t %c%M %l-%m%n


 

#部分2
log4j.logger.log4jdemo.RollingFileAppenderDemo=debug,rollinglogfile
log4j.additivity.log4jdemo.RollingFileAppenderDemo=false
log4j.appender.rollinglogfile=org.apache.log4j.RollingFileAppender
log4j.appender.rollinglogfile.Append=true

log4j.appender.rollinglogfile.File=rollinglogfile.log

log4j.appender.rollinglogfile.MaxFileSize=200kb
log4j.appender.rollinglogfile.MaxBackupIndex=10
log4j.appender.rollinglogfile.layout=org.apache.log4j.TTCCLayout


部分1规定debug及以上级别的日志会打印在控制台中。
部分2规定debug及以上级别的日志会打印在rollinglogfile.log。
如果additivity为false,那么只生成一个rollinglogfile.log的日志文件,屏幕上没有日志信息输出。
如果additivity为true那么,屏幕上有日志信息显示(因为rootLogger的日志输出终端为stdout-屏幕),而且会生成rollinglogfile.log的日志文件。
additivity在log4j默认为true。这解释了为什么有些时候,一个日志信息在屏幕上会有多次输出。

3、log4j.appender.appenderName1=目标地址
Appender设置日志信息的去向.
常用的Appender:
  org.apache.log4j.ConsoleAppender(控制台)
  ogr.apache.log4j.FileAppender(文件)
  org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
  org.apache.log4j.RollingFileAppender(文件大小达到指定尺寸的时候产生一个新的文件)
  org.apache.log4j.WiterAppender(将日志讯息一串流格式发送到任意指定的地方)
  org.apache.log4j.JDBCAppender(将日志讯息保存到数据库中)
  org.apache.log4j.SMTPAppender(将日志信息以邮件的方式发送到指定的地方)
4、log4j.appender.appenderName1.layout=[Layout]
Layout设置日志信息的输出样式.
常用的Layout:
org.apache.log4j.HTMLLayout(一HTML表格形式布局)
  org.apache.log4j.SimpleLayout(包含日志讯息的级别和讯息字符串)
  org.apache.log4j.TTCCLayout(包含日志产生时间,执行者,类别等讯息)
  org.apache.log4j.PatternLayout(可以灵活的指定布局模式)
5、log4j.appender.FILE2.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
这是灵活的指定布局模式定制所输出的日志信息的样式:
%p  输出优先级别:DEBUG,INFO,WARN,ERROR,FATAL
  %r  输出字应用启动到输出该日志讯息所耗时秒数
  %t  输出产生该日志事件的线程名
  %f 输出日志讯息所属的类别的类别名
  %c 输出日志讯息所属的类的全名
  %d  输出日志时间点的日期或时间
  %d{yyyy-MM-dd HH:mm:ss} 指定日期或时间格式
  %l 输出日志时间发生的位置,即输出日志讯息的语句处于他所在的类别的第几行
  %m  输出代码中指定的讯息
  %n 输出一个换行符号
6、log4j.appender.appenderName1.Threshold = ERROR
指定某个appender的级别。结果取决于该级别和根级别的交集,即以级别更高的那个设置为准。
通常根级别设置较低,而指定appender的级别较高,两者配合使用。

补充:很多老程序员相比于.properties这种配置方式,更喜欢使用log4j.xml这种方式,log4j.xml功能更多,书写也更规范,有兴趣的可以问度娘。这两种基本都可以满足需求,至于选择哪一个自己个儿看着办吧,两个一起用我觉得就没必要了。
















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值