Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1834|回复: 0

[默认分类] java日志文件log4j.properties配置详解

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-7-8 15:18:57 | 显示全部楼层 |阅读模式
    一、Log4j配置
    第一步:加入log4j-1.2.8.jar到lib下。
    第二步:在CLASSPATH下建立log4j.properties。内容如下:
    1. 放在src下的话就不用配置 否则得去web.xml里面配置一个Listener
    2. 参考:
    复制代码

    1. log4j.rootCategory=INFO, stdout , R   
    2.    
    3. log4j.appender.stdout=org.apache.log4j.ConsoleAppender   
    4. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout   
    5. log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n   
    6.    
    7. log4j.appender.R=org.apache.log4j.DailyRollingFileAppender   
    8. log4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.log   
    9. log4j.appender.R.layout=org.apache.log4j.PatternLayout   
    10. 1log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n   
    11.    
    12. log4j.logger.com.neusoft=DEBUG   
    13. log4j.logger.com.opensymphony.oscache=ERROR   
    14. log4j.logger.net.sf.navigator=ERROR   
    15. log4j.logger.org.apache.commons=ERROR   
    16. log4j.logger.org.apache.struts=WARN   
    17. log4j.logger.org.displaytag=ERROR   
    18. log4j.logger.org.springframework=DEBUG   
    19. log4j.logger.com.ibatis.db=WARN   
    20. log4j.logger.org.apache.velocity=FATAL   
    21.    
    22. log4j.logger.com.canoo.webtest=WARN   
    23.    
    24. log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN   
    25. log4j.logger.org.hibernate=DEBUG   
    26. log4j.logger.org.logicalcobwebs=WARN  
    27. log4j.rootCategory=INFO, stdout , R
    28. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    29. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    30. log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n
    31. log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
    32. log4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.log
    33. log4j.appender.R.layout=org.apache.log4j.PatternLayout
    34. 1log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
    35. log4j.logger.com.neusoft=DEBUG
    36. log4j.logger.com.opensymphony.oscache=ERROR
    37. log4j.logger.net.sf.navigator=ERROR
    38. log4j.logger.org.apache.commons=ERROR
    39. log4j.logger.org.apache.struts=WARN
    40. log4j.logger.org.displaytag=ERROR
    41. log4j.logger.org.springframework=DEBUG
    42. log4j.logger.com.ibatis.db=WARN
    43. log4j.logger.org.apache.velocity=FATAL
    44. log4j.logger.com.canoo.webtest=WARN
    45. log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
    46. log4j.logger.org.hibernate=DEBUG
    47. log4j.logger.org.logicalcobwebs=WARN
    复制代码

    第三步:相应的修改其中属性,修改之前就必须知道这些都是干什么的,在第二部分讲解。
    第四步:在要输出日志的类中加入相关语句:
    定义属性:protected final Log log = LogFactory.getLog(getClass());
    在相应的方法中:
    if (log.isDebugEnabled()){
    log.debug(“System …..”);
    }

    二、Log4j说明
    1      og4j.rootCategory=INFO, stdout , R
    此句为将等级为INFO的日志信息输出到stdout和R这两个目的地,stdout和R的定义在下面的代码,可以任意起名。等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则不打出任何信息,如果配置为INFO这样只显示INFO, WARN, ERROR的log信息,而DEBUG信息不会被显示,具体讲解可参照第三部分定义配置文件中的logger。
    3       log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    此句为定义名为stdout的输出端是哪种类型,可以是
    org.apache.log4j.ConsoleAppender(控制台),
    org.apache.log4j.FileAppender(文件),
    org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
    org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
    org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
    具体讲解可参照第三部分定义配置文件中的Appender。
    4       log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    此句为定义名为stdout的输出端的layout是哪种类型,可以是
    org.apache.log4j.HTMLLayout(以HTML表格形式布局),
    org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
    org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
    org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
    具体讲解可参照第三部分定义配置文件中的Layout。
    5       log4j.appender.stdout.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n
    如果使用pattern布局就要指定的打印信息的具体格式ConversionPattern,打印参数如下:
    %m 输出代码中指定的消息
    %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
    %r 输出自应用启动到输出该log信息耗费的毫秒数
    %c 输出所属的类目,通常就是所在类的全名
    %t 输出产生该日志事件的线程名
    %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
    %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
    %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
    [QC]是log信息的开头,可以为任意字符,一般为项目简称。
    输出的信息
    [TS] DEBUG [main] AbstractBeanFactory.getBean(189) | Returning cached instance of singleton bean "MyAutoProxy"
    具体讲解可参照第三部分定义配置文件中的格式化日志信息。
    7       log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
    此句与第3行一样。定义名为R的输出端的类型为每天产生一个日志文件。
    8       log4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.log
    此句为定义名为R的输出端的文件名为D:\\Tomcat 5.5\\logs\\qc.log可以自行修改。
    9       log4j.appender.R.layout=org.apache.log4j.PatternLayout
    与第4行相同。
    10     log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
    与第5行相同。
    12     log4j.logger.com. neusoft =DEBUG
    指定com.neusoft包下的所有类的等级为DEBUG。
    可以把com.neusoft改为自己项目所用的包名。
    13     log4j.logger.com.opensymphony.oscache=ERROR
    14     log4j.logger.net.sf.navigator=ERROR
    这两句是把这两个包下出现的错误的等级设为ERROR,如果项目中没有配置EHCache,则不需要这两句。
    15     log4j.logger.org.apache.commons=ERROR
    16     log4j.logger.org.apache.struts=WARN
    这两句是struts的包。
    17     log4j.logger.org.displaytag=ERROR
    这句是displaytag的包。(QC问题列表页面所用)
    18     log4j.logger.org.springframework=DEBUG
    此句为Spring的包。
    24     log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
    25     log4j.logger.org.hibernate=DEBUG
    此两句是hibernate的包。
    以上这些包的设置可根据项目的实际情况而自行定制。
    [code][/code]
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-24 00:40 , Processed in 0.983629 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表