• 简易log4j 父logger和子logger


    log4j 父logger和子logger

            定义子logger其目的就是能够在某一范围内(某一个class或者某一个package)下面,日志的输出方式与其他地方的日志输出方式不同。

    log4j.properties

    [java] 
     
    1. <strong><span style="font-size:14px;">log4j.rootLogger = DEBUG,stdout,D  
    2. #log4j.debug=ture  //是否打开log4j的内部日志打印  
    3.   
    4. #(ConsoleAppender:控制台打印)   
    5. log4j.appender.stdout = org.apache.log4j.ConsoleAppender  
    6. log4j.appender.stdout.Target = System.out  
    7. log4j.appender.stdout.layout = org.apache.log4j.PatternLayout  
    8. log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n  
    9.   
    10. #(DailyRollingFileAppender)  
    11. log4j.appender.D = org.apache.log4j.DailyRollingFileAppender  
    12. log4j.appender.D.File = G://logs/log.log  
    13. log4j.appender.D.Append = true  
    14. log4j.appender.D.Threshold = DEBUG   
    15. log4j.appender.D.layout = org.apache.log4j.PatternLayout  
    16. log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n  
    17.   
    18. # (mail)  
    19. log4j.appender.mail=org.apache.log4j.net.SMTPAppender  
    20. log4j.appender.mail.Threshold=DEBUG  
    21. log4j.appender.mail.BufferSize=10  
    22. log4j.appender.mail.From = 123@qq.com  
    23. log4j.appender.mail.SMTPHost=smtp.qq.com  
    24. log4j.appender.mail.Subject=Log4J Message  
    25. log4j.appender.mail.SMTPUsername=123  
    26. log4j.appender.mail.SMTPPassword=xxx  
    27. log4j.appender.mail.To= 456@qq.com  
    28. log4j.appender.mail.layout=org.apache.log4j.PatternLayout  
    29. log4j.appender.mail.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n  
    30.   
    31.   
    32. #配置子logger,目的就是控制一定范围内的日志输出,比如这里的子logger是控制cn.server.test包下面的所有类的日志输出,其父logger就是rootLogger  
    33. log4j.logger.cn.server.test=error,E  
    34.   
    35. log4j.additivity.cn.server.test=false //  
    36. log4j.appender.E = org.apache.log4j.DailyRollingFileAppender  
    37. log4j.appender.E.File =G://logs/error.log  
    38. log4j.appender.E.Append = true  
    39. log4j.appender.E.Threshold = ERROR   
    40. log4j.appender.E.layout = org.apache.log4j.PatternLayout  
    41. log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ] %m%n  

                配置子logger,目的就是控制一定范围内的日志输出,比如这里的子logger是控制cn.server.test包下面的所有类的日志输出,其父logger就是rootLogger。

    [java] 
     
    1. log4j.logger.cn.server.test=error,E  

     

             在cn.server.test包里面中使用

    [java] 
    1. Logger logger = Logger.getLogger(xxx.class)  
    得到logger对象,然后使用logger对象进行日志输入的时候,logger会根据xxx.class的全类名找到这里声明的子Logger
    [plain] 
    1. log4j.logger.cn.server.test=error,E  
    在cn.server.test包外的类,也可以使用
    [java]
    1. Logger logger = Logger.getLogger("cn.server.test");  
    特别指定使用该子logger进行日志输出。

     

            log4j的additivity属性: 表示子logger是否要在父logger的appender中输出日志,若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。
  • 相关阅读:
    vue学习简单入门
    Python3基础学习
    MySQL数据库索引详解
    使用nginx部署多个前端项目
    基于SpringBoot2.x和tkMapper快速搭建微服务项目脚手架工程
    安装篇-Linux安装maven3.5.2
    安装篇-安装maven3.6.1
    安装篇-安装Idea2019.3.3
    安装篇-jdk1.8安装
    【错误解决】Intellj(IDEA) warning no artifacts configured
  • 原文地址:https://www.cnblogs.com/wchxj/p/8048157.html
Copyright © 2020-2023  润新知