log4j中logger标签中additivity属性的用法说明

 更新时间:2021年12月24日 09:44:23   作者:高达  
这篇文章主要介绍了log4j中logger标签中additivity属性的用法说明,基于很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

log4j logger标签中additivity属性

将logger中的 additivity 属性配置为 false,则这个logger不会将日志流反馈到root中。

可以达到以logger中配置的appender方式来输出日志而其他地方输出的目的,看配置:

< appender  name = "DEMO"  class = "com.XXXXX.RollingFileAppender" >
     < param  name = "file"  value = "${loggingRoot}/xxx.log"  />
     < param  name = "append"  value = "true"  />
     < param  name = "encoding"  value = "GB2312"  />
     < param  name = "threshold"  value = "info"  />
     < param  name = "MaxFileSize"  value = "50MB"  />
     < param  name = "MaxBackupIndex"  value = "10"  />
     < layout  class = "org.apache.log4j.PatternLayout" >
         < param  name = "ConversionPattern"  value = "%d [%X{requestURIWithQueryString}] %-5p %c{2} - %m%n"  />
     </ layout >
</ appender >
< logger  name = "XXXX.XXXX.XXXX"  additivity = "false" >
     < level  value = "${loggingLevel}"  />
     < appender-ref  ref = "DEMO"  />
</ logger >

root的作用是收集下面所有反馈上来的信息流并根据配置在root中appender进行输出,只要你在looger中配置了additivity="false",就不会反馈到root中。

意味着不会重复输出!

log4j.additivity用法和例子

因为需要将packageOne和packageTwo的日志写入各自单独的文件,同时在总的日志中不出现packageOne和PackageTwo的日志。

可以使用log4j.additivity。因为log4j是层次的,如果没有log4j.additivity默认写入到packageOneFileAppender和packageTwoFileAppender的都会写入rootLogger的rootFileAppender

log4j.logger.com.demo.packageOone = INFO, packageOneFileAppender
log4j.additivity.com.demo.

packageOne

= false
log4j.category.com.demo.packageTwo = INFO, packageTwoFileAppender
log4j.additivity.com.demo.packageTwo = false
log4j.rootLogger = INFO, rootFileAppender

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何通过Java代码实现KMP算法

    如何通过Java代码实现KMP算法

    这篇文章主要介绍了如何通过Java代码实现KMP算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Java线程池复用线程的秘密你知道吗

    Java线程池复用线程的秘密你知道吗

    这篇文章主要为大家详细介绍了Java线程池复用线程的秘密,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望您能够多多关注

    2022-03-03
  • Java实现在线预览的示例代码(openOffice实现)

    Java实现在线预览的示例代码(openOffice实现)

    本篇文章主要介绍了Java实现在线预览的示例代码(openOffice实现),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • 详解Java使用JDBC连接MySQL数据库

    详解Java使用JDBC连接MySQL数据库

    本文详细讲解了Java使用JDBC连接MySQL数据库的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • Java Maven settings.xml中私有仓库配置详解

    Java Maven settings.xml中私有仓库配置详解

    这篇文章主要介绍了详解Maven settings.xml配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-10-10
  • Java Web程序中利用Spring框架返回JSON格式的日期

    Java Web程序中利用Spring框架返回JSON格式的日期

    这里我们来介绍一下Java Web程序中利用Spring框架返回JSON格式的日期的方法,前提注意使用@DatetimeFormat时要引入一个类库joda-time-版本.jar,否则会无法访问相应路径
    2016-05-05
  • Java 23种设计模型详解

    Java 23种设计模型详解

    本文主要介绍Java 23种设计模型,这里整理了详细的资料,及实现各种设计模型的示例代码,有需要的小伙伴可以参考下
    2016-09-09
  • Java实战之仿天猫商城系统的实现

    Java实战之仿天猫商城系统的实现

    这篇文章主要介绍了如何利用Java制作一个基于SSM框架的迷你天猫商城系统,文中采用的技术有JSP、Springboot、SpringMVC、Spring等,需要的可以参考一下
    2022-03-03
  • java后端把数据转换为树,map递归生成json树,返回给前端(后台转换)

    java后端把数据转换为树,map递归生成json树,返回给前端(后台转换)

    这篇文章主要介绍了java后端把数据转换为树,map递归生成json树,返回给前端实例(后台转换),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-01-01
  • Java开发之普通web项目转为Maven项目的方法

    Java开发之普通web项目转为Maven项目的方法

    这篇文章主要给大家介绍了关于Java开发之普通web项目转为Maven项目的相关资料,文中通过图文将转换的方法步骤介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12

最新评论