log4j配置

1.基本使用方法:

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。

2.日志信息的优先级

org.apache.log4j.Level类提供以下级别,但也可以通过Level类的子类自定义级别。

Level

描述

ALL

各级包括自定义级别

DEBUG

指定细粒度信息事件是最有用的应用程序调试

ERROR

错误事件可能仍然允许应用程序继续运行

FATAL

指定非常严重的错误事件,这可能导致应用程序中止

INFO

指定能够突出在粗粒度级别的应用程序运行情况的信息的消息

OFF

这是最高等级,为了关闭日志记录

TRACE

指定细粒度比DEBUG更低的信息事件

WARN

指定具有潜在危害的情况

log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。

 

  1. ALL 最低等级的,用于打开所有日志记录。
  2. TRACE designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志级别,一般不会使用。
  3. DEBUG 指出细粒度信息事件对调试应用程序是非常有帮助的,主要用于开发过程中打印一些运行信息。
  4. INFO 消息在粗粒度级别上突出强调应用程序的运行过程。打印一些你感兴趣的或者重要的信息,这个可以用于生产环境中输出程序运行的一些重要信息,但是不能滥用,避免打印过多的日志。
  5. WARN 表明会出现潜在错误的情形,有些信息不是错误信息,但是也要给程序员的一些提示。
  6. ERROR 指出虽然发生错误事件,但仍然不影响系统的继续运行。打印错误和异常信息,如果不想输出太多的日志,可以使用这个级别。
  7. FATAL 指出每个严重的错误事件将会导致应用程序的退出。这个级别比较高了。重大错误,这种级别你可以直接停止程序了。
  8. OFF 最高等级的,用于关闭所有日志记录。

如果将log level设置在某一个级别上,那么比此级别优先级高的log都能打印出来。例如,如果设置优先级为WARN,那么OFF、FATAL、ERROR、WARN 4个级别的log能正常输出,而INFO、DEBUG、TRACE、 ALL级别的log则会被忽略。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。

3.配置参数

%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL, 
%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 
%r: 输出自应用启动到输出该log信息耗费的毫秒数 
%c: 输出日志信息所属的类目,通常就是所在类的全名 
%t: 输出产生该日志事件的线程名 
%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10) 
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。 
%%: 输出一个”%”字符 
%F: 输出日志消息产生时所在的文件名称 
%L: 输出代码中的行号 
%m: 输出代码中指定的消息,产生的日志具体信息 
%n: 输出一个回车换行符,Windows平台为”\r\n”,Unix平台为”\n”输出日志信息换行 
可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如: 
1)%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。 
2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,”-”号指定左对齐。 
3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。 
4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边交远销出的字符截掉。
 

4. 基本配置解析

     常用配置1:


#日志级别,还可以log4j.rootLogger=INFO,file2,file3 指定file2、3的输出文件
log4j.rootLogger=info,exception,thread  
 
#info
    #每一天产生1个日志文件
    log4j.appender.info=org.apache.log4j.DailyRollingFileAppender 
    #定义日志存放路径
    log4j.appender.info.File=/usr/tomcat_logs/mailSystem_info.log
    #日志文件是否追加
    log4j.appender.info.Append=true
    #定义的时间格式,如果时间定义到分钟(mm)就是每分钟生成一个日志文件,而这里定义的这个格式就是日志名后缀
    #log4j.appender.file3.DatePattern='_' yyyy-MM-dd-HH-mm  每分钟
    #log4j.appender.file3.DatePattern='_' yyyy-MM-dd-HH    每小时
    #log4j.appender.file3.DatePattern='_' yyyy-MM-dd    每天
    #log4j.appender.file3.DatePattern='_' yyyy-MM-dd-a    每半天
    
    #日志输出级别
    log4j.appender.info.Threshold=INFO
    #日志编码
    #log4j.appender.file3.Encoding=UTF-8 
    #日志中输出的日志的格式
    log4j.appender.info.layout=org.apache.log4j.PatternLayout
    #定义的日志格式
    log4j.appender.info.layout.ConversionPattern=%t %d %p [%c] - %m%n
    

 

 

 

 常用配置2:
#debug
    log4j.appender.debug=org.apache.log4j.RollingFileAppender
    log4j.appender.debug.File=/usr/tomcat_logs/mailSystem_debug.log
    #设置日志文件的大小
    log4j.appender.debug.MaxFileSize=100M
    #保存10个备份文件
    log4j.appender.debug.MaxBackupIndex=10
    log4j.appender.debug.Append=true
    log4j.appender.debug.Threshold=DEBUG
    log4j.appender.debug.layout=org.apache.log4j.PatternLayout
    log4j.appender.debug.layout.ConversionPattern=%t %d %p [%c] - %m%n
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值