`
xiamizy
  • 浏览: 89896 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
78437efc-ad8e-387c-847f-a092d52e81a6
spring framew...
浏览量:4887
社区版块
存档分类
最新评论

log4j日志分模块打印,同时不打印到控制台上

阅读更多

 

          由于定时刷新程序的启用,导致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实例

    根据配置,DEBUG级别的日志只会出现在控制台上,而INFO及更高级别的日志会同时输出到控制台和文件。 总结: Log4j作为Java平台的主流日志框架,其强大之处在于可配置性和灵活性。通过合理的配置,可以实现日志的...

    log4j源码二次开发-集中处理日志消息

    这样,我们可以控制哪些模块的日志显示在控制台上,哪些保存在文件中,哪些通过网络发送到日志中心。例如,可以在`log4j.properties`或`log4j.xml`配置文件中定义: ```properties # 应用A的配置 log4j.appender.A ...

    log4j-users-guide 用户手册

    ### Log4j 2.0 用户手册:详细解析 ...综上所述,Log4j 2 不仅是一个强大的日志记录库,还是一个具有高度可配置性和扩展性的平台。无论是对于开发者还是对于系统管理员来说,Log4j 2 都是一个值得信赖的选择。

    apache-log4j-2.0-rc2-bin.zi

    Apache Log4j 2.0 是一个非常重要的日志记录框架,它是在经典的Log4j 1.x基础上的重大升级,提供了许多新特性和性能优化。这个版本的主要目标是解决1.x版本的一些已知问题,并引入现代化的日志处理机制,以满足更...

    打印调试日志

    在Java中,有log4j、logback等流行的第三方日志框架;在Node.js中,有winston、 bunyan等日志库。这些库提供了丰富的功能和易用的API,简化了日志的使用。 9. **分布式系统中的日志**:在分布式系统中,日志一致性...

    简洁易用的日志模块

    在IT行业中,日志模块是开发过程中的重要组成部分,它帮助开发者记录程序运行时的状态...在实际工作中,选择一个简洁易用的日志模块,如Python的`logging`库、Java的`log4j`或`slf4j`,可以极大地简化日志管理的工作。

    log4j-configuration-builder:没有`log4j.xml`的Apache Log4j2配置生成器

    具有 DEBUG 级别的控制台上的配置 ConfigurationBuilder . Builder builder = ConfigurationBuilder . newConfiguration(); builder . setConfigurationName( " my-config " ); builder . disableAsyncLoggers(); ...

    H5app手机端控制台打印vConsole

    vConsole不仅仅提供日志打印功能,还包括网络请求、性能监控、存储查看等多个模块。在手机端,只需滑动手势或点击页面右下角的“V”图标,就能调出vConsole的控制台界面。这里你可以看到详细的网络请求信息(如HTTP...

    Log4QT源码(个人上传)

    它扩展了基础的Appender类,允许在控制台上以不同颜色显示不同级别的日志信息,提高了可读性。 4. `dailyrollingfileappender.cpp`:每日滚动文件Appender负责将日志信息写入文件,并根据日期自动滚动,每天生成一...

    基于SSM的日志系统

    4. **日志组件选择**:SSM框架下通常会选用Log4j、Logback或SLF4J作为日志记录工具。这些组件提供了丰富的日志级别(如DEBUG、INFO、WARN、ERROR),以及灵活的配置方式,可以控制日志输出的位置、格式和内容。 5. ...

    JSPSmart系统-权限管理与日志记录模块的设计与开发(源代码+论文).zip

    2. 日志框架:JSPSmart系统可能采用了诸如Log4j、Logback或Java内置的日志API等成熟日志框架,它们提供丰富的配置选项,支持日志输出格式、存储位置、归档策略等。 3. 异步日志记录:为了保证系统性能,日志记录...

    Log4NetDemo

    Log4Net是基于Log4j(Java平台上的日志工具)设计的.NET实现,它提供了灵活的日志配置,支持多种日志输出方式,如控制台、文件、数据库、网络等。Log4Net的设计目标是使应用程序的日志记录过程简单而高效,同时又...

    使用队列进行日志的记录

    同时,还可以添加分类字段,如模块名或服务名,便于按特定组件分析日志。 6. **日志清理策略**: 对于长期运行的系统,日志可能会积累大量数据。因此,需要设计合理的日志清理策略,比如基于时间(如只保留最近30...

    了解Java日志系统框架的设计与实现.pdf

    本文设计的Java日志框架借鉴了Log4J的部分接口,但在实现上有创新。关键技术包括日志分类和级别管理、日志分发框架、日志记录器的设计以及性能和稳定性的优化。 **系统架构** 日志系统框架由两部分组成: 1. **...

    Python 实现日志同时输出到屏幕和文件

    例如,我们可以让DEBUG级别的信息只显示在控制台上,而INFO及以上的级别则同时记录到文件。 总结来说,Python的`logging`模块提供了强大的日志管理功能,通过配置记录器和处理器,我们可以轻松地实现日志信息的多...

    Python模块学习logging.docx

    这样,日志既会被写入'app.log'文件,也会实时显示在控制台上。 总之,Python的logging模块提供了一套强大且灵活的日志管理系统,无论是简单的调试信息还是复杂的生产环境监控,都能满足需求。正确地使用日志,能...

    xt_LOG.rar_Change

    - 修改`nf_log.h`:描述中提到不要更改`xt_LOG`而不修改`nf_log.h`,这可能是因为`nf_log.h`包含了共享的或全局的日志定义,改动可能会影响到其他依赖它的模块。 - 性能影响:过多的日志输出会消耗系统资源,因此...

    基于jsp的Smart-权限管理与日志记录模块系统毕业设计与实现(源代码+项目报告).zip

    开发者需要选择合适的日志框架,如Log4j或SLF4J,并配置其日志级别,以便在需要时收集详细信息。 5. **源代码结构** 源代码通常包括前端JSP文件、后台Java类(如Servlet、Bean)、数据库连接和查询语句、配置文件...

    Linux中常见的日志文件和命令.rar

    8. `syslog` 和 `rsyslog`:这两个是日志收集和转发服务,可以将一台机器的日志集中到中央服务器上进行统一管理。 理解并掌握这些日志文件和命令,对于Linux系统的日常维护和问题排查至关重要。它们可以帮助我们...

    日志统计项目

    3. **日志聚合**:将分布在多台服务器上的日志数据集中到一个中心位置,例如通过ELK(Elasticsearch, Logstash, Kibana)堆栈或Fluentd等工具。 4. **日志分析**:对收集到的日志数据进行分析,这可以是实时的,也...

Global site tag (gtag.js) - Google Analytics