由于定时刷新程序的启用,导致catalina.out配置文件中打入大量日志,致使程序调试困难。

         无法正常查看日志。所以客户要求将性能流量配置日志迁移出catalina.out目录。修改log4j配置文件后,发现
      分文件中有了日志输出,但是,catalina.out文件中依然有性能流量日志输出。
          原始配置方法如下:
          
          log4j.logger.com.test.cao.snmpgather = INFO, snmpgather

          log4j.appender.snmpgather=org.apache.log4j.DailyRollingFileAppender

          log4j.appender.snmpgather.File=${catalina.home}/logs/performance/snmpgather_

          log4j.appender.snmpgather.DatePattern= yyyy-MM- dd'.log'

          log4j.appender.snmpgather.layout=org.apache.log4j.PatternLayout

          log4j.appender.snmpgather.layout.ConversionPattern= %-d{yyyy -MM-dd HH:mm:ss,SSS} [%p] [%C.%M:%L] %m%n
          后来发现了如下方法,则可将日志从catalina.out工作台日志文件中移出,
          log4j.additivity
          现配置文件如下:
          
          log4j.logger.com.test.cao.snmpgather = INFO, snmpgather

          log4j.appender.snmpgather=org.apache.log4j.DailyRollingFileAppender

          log4j.appender.snmpgather.File=${catalina.home}/logs/performance/snmpgather_

          log4j.appender.snmpgather.DatePattern= yyyy-MM- dd'.log'

          log4j.appender.snmpgather.layout=org.apache.log4j.PatternLayout

          log4j.appender.snmpgather.layout.ConversionPattern= %-d{yyyy -MM-dd HH:mm:ss,SSS} [%p] [%C.%M:%L] %m%n

	  log4j.additivity.com.linkage.module.liposs.system.cao.snmpgather = false
          下面是log4j.additivity解释:
          log4j.additivity是 子Logger 是否继承 父Logger 的 输出源(appender) 的标志位。

          具体说,默认情况下 子Logger 会继承 父Logger 的appender,也就是说 子Logger 会在 父Logger 的appender里输出。

          若是additivity设为false,则 子Logger 只会在自己的appender里输出,而不会在 父Logger 的appender里输出。
          
          由于父log为:
          
          log4j.rootCategory=, A1 , R

          log4j.appender.A1=org.apache.log4j.ConsoleAppender

          log4j.appender.A1.Threshold=INFO

          log4j.appender.A1.layout=org.apache.log4j.PatternLayout

          log4j.appender.A1.layout.ConversionPattern= %-d{yyyy -MM-dd HH:mm:ss} [%c]-[%p] %m%n

          log4j.appender.R.Threshold=INFO

          log4j.appender.R.MaxFileSize=100KB

          log4j.appender.R.MaxBackupIndex=10

          log4j.appender.R.layout=org.apache.log4j.PatternLayout

          log4j.appender.R.layout.ConversionPattern= %p %t %c - %m%n
          所以会打到工作台中。
          将additivity设为false则只依赖与自身的配置。

log4j日志分模块打印,同时不打印到控制台上的更多相关文章

  1. Tomcat日志、项目中的log4j日志、控制台——我的日志最后到底跑哪去了?

    1.Tomcat自带日志功能,即时你的项目中有log4j也不会影响到Tomcat自己记录日志. 2.你的项目中的log4j中的日志指定打印到什么地方(控制台或者文件),便会打印到什么地方,和Tomat ...

  2. .NET Core下的日志(3):如何将日志消息输出到控制台上

    当我们利用LoggerFactory创建一个Logger对象并利用它来实现日志记录,这个过程会产生一个日志消息,日志消息的流向取决于注册到LoggerFactory之上的LoggerProvider. ...

  3. Python+request 分模块存放接口,多接口共用参数URL、headers的抽离,添加日志打印等《三》

    主要介绍内容如下: 1.分模块存放接口 2.多接口共用参数URL.headers的抽离为配置文件 3.添加日志打印 4.一个py文件运行所有所测的接口 如上介绍内容的作用: 1.分模块存放接口:方便多 ...

  4. Logback 将日志分级别打印

    最近项目中用到了logback 记录日志,  关于为啥使用logback 请百度一下:  logback与Log4J的区别 好了,废话不多说,直奔主题, 研究了好久,终于将日志按级别将日志分文件打印出 ...

  5. Storm中log4j日志打印不出来的解决办法

    使用storm命令启动JAVA进程的时候,发现log4j日志打印不出来,咋办呢? 解决办法如下(亲测): 删除strom/lib目录下的log4j-over-slf4j-1.6.6.jar strom ...

  6. 大数据调错系列之hadoop在开发工具控制台上打印不出日志的解决方法

    (1)在windows环境上配置HADOOP_HOME环境变量 (2)在eclipse上运行程序 (3)注意:如果eclipse打印不出日志,在控制台上只显示 1.log4j:WARN No appe ...

  7. log4j.xml简单配置实现在控制台打印sql执行语句【加注释】

    转: log4j.xml简单配置实现在控制台打印sql执行语句 2017年09月27日 13:02:34 艾然丶 阅读数 8804   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协 ...

  8. Swift打印Debug日志,实现Release下不打印

    OC内,我们往往做log打印时,会考虑一个Debug环境下打印,Release下控制不打印,以节约性能消耗. OC我们可以这样做: 在pch文件内,定义如下: //打印日志 #ifdef DEBUG ...

  9. slf4j+logback搭建超实用的日志管理模块

    文章转自http://www.2cto.com/kf/201702/536097.html slf4j+logback搭建超实用的日志管理模块(对日志有编号管理):日志功能在服务器端再常见不过了,我们 ...

随机推荐

  1. 初入Python继承

    1.什么是继承? 新类不用从头编写 新类从现有的类继承,就自动拥有了现有类的所有功能 新类只需要编写现有类缺少的新功能 2.继承的好处 复用已有代码 自动拥有了现有类的所有功能 只需要编写缺少的新功能 ...

  2. FileUtil.java

    package com.founder.util.file; import java.io.BufferedReader; import java.io.File; import java.io.Fi ...

  3. android面试题之七

    三十六.请解释下在单线程模型中Message.Handler.Message Queue.Looper之间的关系. 简单的说,Handler获取当前线程中的looper对象,looper用来从存放Me ...

  4. Android 自定义UI--指南针

    有了之前的基础,下面开始实现一个简单的指南针.首先来看一下效果图, 我们可以粗略将这个指南针分为三个部分,一是圆形背景,二是刻度,三是文本.那么在写代码的时候,就可以声明三个Paint画笔来画以上三个 ...

  5. Java第四周学习日记(绪)

    1.静态导入 作用:简化书写静态导入可以作用一个类的所有静态成员静态导入格式:import static 包名.类名静态导入要注意的事项:如果静态导入的成员与本类的成员存在同名的情况下,那么默认使用本 ...

  6. centos6.5配置无线网络

    由于安装的是服务器版,所以开机无法连接网络,以下这些情况都是针对驱动已经安装OK.按步骤操作如下(以下操作默认都是在超级管理员权限下进行): 1.测试电脑是否安装wpa_supplicant,测试方法 ...

  7. oracle函数之replace

    replace('将要更改的字符串','被替换掉的字符串','替换字符串'): ','****') from tmall_tcmessage; 输出为 '158****3367'

  8. Curl命令使用方法

    Curl是Linux下一个很强大的http命令行工具,其功能十分强大.1) 读取网页$ curl http://www.linuxidc.com2) 保存网页$ curl http://www.lin ...

  9. Linux下的压缩和解压

    1. gzip, bzip2 能否直接压缩目录呢?不可以 2. 请快速写出,使用gzip和bzip2压缩和解压一个文件的命令.压缩:gzip 1.txt bzip2 1.txt解压:gzip -d 1 ...

  10. ORA-02069: global_names parameter must be set to TRUE for this operation

    原因:在对远程表增删改操作的时候,调用了本地函数.  比如:insert into trans_load_rate@DC values(rate_s(1)); trans_load_rate是DC库的 ...