由于定时刷新程序的启用,导致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里输出。
具体说,默认情况下 子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则只依赖与自身的配置。
相关推荐
根据配置,DEBUG级别的日志只会出现在控制台上,而INFO及更高级别的日志会同时输出到控制台和文件。 总结: Log4j作为Java平台的主流日志框架,其强大之处在于可配置性和灵活性。通过合理的配置,可以实现日志的...
这样,我们可以控制哪些模块的日志显示在控制台上,哪些保存在文件中,哪些通过网络发送到日志中心。例如,可以在`log4j.properties`或`log4j.xml`配置文件中定义: ```properties # 应用A的配置 log4j.appender.A ...
### Log4j 2.0 用户手册:详细解析 ...综上所述,Log4j 2 不仅是一个强大的日志记录库,还是一个具有高度可配置性和扩展性的平台。无论是对于开发者还是对于系统管理员来说,Log4j 2 都是一个值得信赖的选择。
Apache Log4j 2.0 是一个非常重要的日志记录框架,它是在经典的Log4j 1.x基础上的重大升级,提供了许多新特性和性能优化。这个版本的主要目标是解决1.x版本的一些已知问题,并引入现代化的日志处理机制,以满足更...
在Java中,有log4j、logback等流行的第三方日志框架;在Node.js中,有winston、 bunyan等日志库。这些库提供了丰富的功能和易用的API,简化了日志的使用。 9. **分布式系统中的日志**:在分布式系统中,日志一致性...
在IT行业中,日志模块是开发过程中的重要组成部分,它帮助开发者记录程序运行时的状态...在实际工作中,选择一个简洁易用的日志模块,如Python的`logging`库、Java的`log4j`或`slf4j`,可以极大地简化日志管理的工作。
具有 DEBUG 级别的控制台上的配置 ConfigurationBuilder . Builder builder = ConfigurationBuilder . newConfiguration(); builder . setConfigurationName( " my-config " ); builder . disableAsyncLoggers(); ...
vConsole不仅仅提供日志打印功能,还包括网络请求、性能监控、存储查看等多个模块。在手机端,只需滑动手势或点击页面右下角的“V”图标,就能调出vConsole的控制台界面。这里你可以看到详细的网络请求信息(如HTTP...
它扩展了基础的Appender类,允许在控制台上以不同颜色显示不同级别的日志信息,提高了可读性。 4. `dailyrollingfileappender.cpp`:每日滚动文件Appender负责将日志信息写入文件,并根据日期自动滚动,每天生成一...
4. **日志组件选择**:SSM框架下通常会选用Log4j、Logback或SLF4J作为日志记录工具。这些组件提供了丰富的日志级别(如DEBUG、INFO、WARN、ERROR),以及灵活的配置方式,可以控制日志输出的位置、格式和内容。 5. ...
2. 日志框架:JSPSmart系统可能采用了诸如Log4j、Logback或Java内置的日志API等成熟日志框架,它们提供丰富的配置选项,支持日志输出格式、存储位置、归档策略等。 3. 异步日志记录:为了保证系统性能,日志记录...
Log4Net是基于Log4j(Java平台上的日志工具)设计的.NET实现,它提供了灵活的日志配置,支持多种日志输出方式,如控制台、文件、数据库、网络等。Log4Net的设计目标是使应用程序的日志记录过程简单而高效,同时又...
同时,还可以添加分类字段,如模块名或服务名,便于按特定组件分析日志。 6. **日志清理策略**: 对于长期运行的系统,日志可能会积累大量数据。因此,需要设计合理的日志清理策略,比如基于时间(如只保留最近30...
本文设计的Java日志框架借鉴了Log4J的部分接口,但在实现上有创新。关键技术包括日志分类和级别管理、日志分发框架、日志记录器的设计以及性能和稳定性的优化。 **系统架构** 日志系统框架由两部分组成: 1. **...
例如,我们可以让DEBUG级别的信息只显示在控制台上,而INFO及以上的级别则同时记录到文件。 总结来说,Python的`logging`模块提供了强大的日志管理功能,通过配置记录器和处理器,我们可以轻松地实现日志信息的多...
这样,日志既会被写入'app.log'文件,也会实时显示在控制台上。 总之,Python的logging模块提供了一套强大且灵活的日志管理系统,无论是简单的调试信息还是复杂的生产环境监控,都能满足需求。正确地使用日志,能...
- 修改`nf_log.h`:描述中提到不要更改`xt_LOG`而不修改`nf_log.h`,这可能是因为`nf_log.h`包含了共享的或全局的日志定义,改动可能会影响到其他依赖它的模块。 - 性能影响:过多的日志输出会消耗系统资源,因此...
开发者需要选择合适的日志框架,如Log4j或SLF4J,并配置其日志级别,以便在需要时收集详细信息。 5. **源代码结构** 源代码通常包括前端JSP文件、后台Java类(如Servlet、Bean)、数据库连接和查询语句、配置文件...
8. `syslog` 和 `rsyslog`:这两个是日志收集和转发服务,可以将一台机器的日志集中到中央服务器上进行统一管理。 理解并掌握这些日志文件和命令,对于Linux系统的日常维护和问题排查至关重要。它们可以帮助我们...
3. **日志聚合**:将分布在多台服务器上的日志数据集中到一个中心位置,例如通过ELK(Elasticsearch, Logstash, Kibana)堆栈或Fluentd等工具。 4. **日志分析**:对收集到的日志数据进行分析,这可以是实时的,也...