log4j 之 DailyRolling :屏蔽指定包日志输出
客户要求:log4j只输出程序中添加的日志内容,屏蔽其他任何日志输出。
试着配置了一下log4j。
1。屏蔽 S2SH 框架中的 spring 组件的日志。
2。屏蔽 S2SH 框架中的 struts2 组件的日志。
3。屏蔽 S2SH 框架中的 hibernate 组件的日志。
配置如下:
## Disable other log
log4j.logger.org.springframework=OFF
log4j.logger.com.opensymphony.xwork2=OFF
log4j.logger.org.hibernate=OFF
启动程序,发现仍然有 struts2 组件 com.opensymphony.xwork2 包下的日志输出。
尝试多次,无果。
查看 struts2 的包结构,加入 org.apache.struts2 后,搞定。
特记录配置如下:
## root logger level [ALL,DEBUG,INFO,WARN,ERROR,FATAL,OFF]
log4j.rootLogger=DEBUG,F_DEBUG,F_INFO,F_WARN,F_ERROR
## Disable other log
log4j.logger.org.springframework=OFF
log4j.logger.org.apache.struts2=OFF
log4j.logger.com.opensymphony.xwork2=OFF
log4j.logger.com.ibatis=OFF
log4j.logger.org.hibernate=OFF
## console appender
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%-5p][%t] method:%l%n %m%n
## DEBUG
log4j.appender.F_DEBUG=org.apache.log4j.DailyRollingFileAppender
log4j.appender.F_DEBUG.Threshold=DEBUG
log4j.appender.F_DEBUG.file=LOGS/debug/debug.log
log4j.appender.F_DEBUG.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.F_DEBUG.Encoding=UTF-8
log4j.appender.F_DEBUG.layout=org.apache.log4j.PatternLayout
log4j.appender.F_DEBUG.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} [%-5p][%t] method\:%l%n %m%n
## INFO
log4j.appender.F_INFO=org.apache.log4j.DailyRollingFileAppender
log4j.appender.F_INFO.Threshold=INFO
log4j.appender.F_INFO.file=LOGS/info/info.log
log4j.appender.F_INFO.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.F_INFO.Encoding=UTF-8
log4j.appender.F_INFO.layout=org.apache.log4j.PatternLayout
log4j.appender.F_INFO.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} [%-5p][%t] method\:%l%n %m%n
## WARN
log4j.appender.F_WARN=org.apache.log4j.DailyRollingFileAppender
log4j.appender.F_WARN.Threshold=WARN
log4j.appender.F_WARN.file=LOGS/warn/warn.log
log4j.appender.F_WARN.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.F_WARN.Encoding=UTF-8
log4j.appender.F_WARN.layout=org.apache.log4j.PatternLayout
log4j.appender.F_WARN.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} [%-5p][%t] method\:%l%n %m%n
## ERROR
log4j.appender.F_ERROR=org.apache.log4j.DailyRollingFileAppender
log4j.appender.F_ERROR.Threshold=ERROR
log4j.appender.F_ERROR.file=LOGS/error/error.log
log4j.appender.F_ERROR.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.F_ERROR.Encoding=UTF-8
log4j.appender.F_ERROR.layout=org.apache.log4j.PatternLayout
log4j.appender.F_ERROR.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} [%-5p][%t] method\:%l%n %m%n
分享到:
相关推荐
本文将深入探讨如何在Log4j中实现日志输出路径的动态配置。 首先,我们要理解Log4j的核心组件。Log4j主要包括三个关键部分:Logger(日志器)、Appender(输出器)和Layout(布局)。Logger负责生成日志事件,...
本示例将详细介绍如何使用Log4j来控制指定类或包的日志级别。 首先,我们来理解日志级别的概念。日志级别通常包括TRACE、DEBUG、INFO、WARN、ERROR和FATAL,它们按严重程度递增排序。每个级别对应不同的信息,例如...
这个"Log4j jar包.rar"压缩文件很可能包含了Log4j库的JAR文件,供Java开发者在他们的项目中引用。 **Log4j的核心组件:** 1. **配置文件**:Log4j的配置通常通过XML、JSON或.properties文件进行,定义了日志信息的...
完成这些步骤后,当你的应用程序运行时,log4j会根据配置将日志信息输出到指定的文件夹中。这不仅方便了日志的管理和查看,还可以通过设置不同的日志级别来控制输出的信息量,例如在开发环境中开启DEBUG级别以获取更...
首先,错误信息"log4j:WARN No appenders could be found for logger"表明Log4j找不到任何日志输出的目标,也就是没有设置日志appender。日志appender是Log4j用来定义日志输出目的地的组件,比如控制台、文件、邮件...
Log4j是Apache提供的一款广泛使用的日志框架,它提供了丰富的配置选项,允许开发者灵活地控制日志输出。当我们面对特定项目需求,比如需要自定义日志文件名和日志输出格式时,Log4j同样提供了相应的解决方案。 首先...
在这个配置中,我们设置了全局日志级别为INFO,定义了两个Appender:一个将日志输出到控制台,另一个写入到指定的文件中,并且日志文件每天自动滚动一次。转换模式定义了日志的显示格式。 四、高级特性 Log4j还...
- **Logger**: 日志记录器,是Log4j的核心组件,负责实际的日志输出。你可以为每个功能模块创建一个独立的Logger,以便区分日志来源。 - **Appender**: 输出目的地,用于定义日志信息被发送到哪里,如控制台、文件...
在“Log4j2实现不同线程不同级别日志输出到不同的文件中”这个主题中,我们将深入探讨如何利用Log4j2实现这一高级日志管理需求。 1. **日志级别**: - 在Log4j2中,日志级别包括DEBUG、INFO、WARN、ERROR、FATAL...
深入研究Log4j 1.2.16的源代码,你可以了解到如何实现日志事件的线程安全处理,以及如何优化日志性能,比如通过缓存日志输出格式来减少不必要的字符串连接操作。此外,源码中还包含了一些关键的类,如Category...
Log4j 的核心组件包括日志记录器(Logger)、日志输出目的地(Appender)和日志格式化器(Layout)。 二、配置 Log4j.properties 文件 在 SSM 整合项目中,配置 Log4j.properties 文件是必不可少的步骤。该文件...
2. **Appenders**: Appender是Log4j的输出端口,用于指定日志信息的输出目标。在`log4j.properties`中,可能会定义多个Appender,比如将日志输出到控制台(ConsoleAppender)和文件(FileAppender)。 3. **Layouts...
这篇博客"Log4j 把不同包的日志打印到不同位置"可能详细解释了如何利用Log4j配置来实现特定包的日志定向输出,以便于管理和分析来自不同模块的日志信息。 在Java应用中,我们常常会遇到多个模块或者不同包的类同时...
分包日志输出是Log4j的一个高级特性,允许我们根据类所在的包或子包来定制不同的日志级别和输出策略。例如,我们可以让某个包下的所有类输出DEBUG级别的日志,而其他包只输出ERROR级别的日志。这样,我们可以在不...
Log4j是Java编程语言中广泛使用的日志记录框架,特别是在企业级应用和大型系统中。这个"**log4j-2.17.1**"的版本是该框架的一个更新,提供了修复的安全漏洞和性能优化。以下是关于Log4j 2.17.1的一些关键知识点: 1...
本文将深入讲解如何配置log4j以实现日志输出到控制台和文件,并提供相关代码实例和案例分析。** ### 一、Log4j简介 Log4j是Apache组织开发的一个开源项目,用于生成日志信息。它提供了灵活的配置方式,支持多种输出...
在上述配置中,我们设置了两个Appender,一个将日志输出到控制台,另一个将日志写入到指定文件,并且只记录DEBUG及以上的日志级别。 **使用Log4j** 在Java代码中,通过以下方式创建和使用Logger: ```java import...
Log4j提供了一个名为`org.apache.log4j.ConsoleAppender`的类,用于将日志输出到控制台,我们可以通过自定义Filter或者继承现有Appender来实现这个功能。 下面是一个简单的示例,展示如何在Log4j配置文件中设置...
通过`log4j.properties`或`log4j.xml`配置文件,可以定制日志输出的级别、目的地和格式,从而满足不同项目的需求。在实际开发中,正确地使用和配置`log4j`能显著提升问题排查和系统监控的效率。
4. 定义日志输出格式:通过配置log4j.appender.CATALINA.layout为org.apache.log4j.PatternLayout,可以定义日志的格式。例如,可以设置为%d{yyyy-MM-ddHH:mm:ss.SSS}%p[%t]%c|%m%n来让日志格式和Log4j保持一致。 5...