有时为了做业务分析,我们需要针对某个产品业务线,做日志监控,要做特定的日志输出,比如:
用flume监控某个日志文件,然后分析某个业务的业务量,这个时候就需要要求log4j对单独某个类输出的日志,单独生成一个log文件,以下是log4j的配置文件
#保存某个类的日志到单独的log文件
log4j.logger.com.app.MyClass=debug,info
log4j.appender.info=org.apache.log4j.RollingFileAppender
log4j.appender.info.File=E:/temp/myclass.log
log4j.appender.info.MaxFileSize=10MB
log4j.appender.info.MaxBackupIndex=3
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
log4j.additivity.com.app.MyClass=false
这里发挥关键作用的是log4j.additivity这个设置。log4j.additivity是 子Logger 是否继承 父Logger 的 输出源(appender) 的标志位。具体说,默认情况下 子Logger 会继承 父Logger 的appender,也就是说 子Logger 会在 父Logger 的appender里输出。若是additivity设为false,则 子Logger 只会在自己的appender里输出,而不会在 父Logger 的appender里输出。
在上面展示的log4j配置中,子logger就是com.app.MyClass,而父logger是rootLogger,设置log4j.additivity 为false之后,子logger日志将不会出现在父logger rootLogger中。
log4j.additivity 默认值为true,默认是子logger日志会写入到父logger中。
分享到:
相关推荐
文件中内容包括模块中某个类单独输出到一个日志文件中、模块中某个package单独输出到一个日志文件中、同一模块不同package输出到一个日志文件中三种情况下log4j.properties配置项配置事例、Java类中代码如何一致编写...
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd'.log' # 每天生成一个新的日志文件 # 设置日志格式 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=%d...
实现分包日志输出的关键在于配置文件(通常是log4j.properties或log4j.xml)。在配置文件中,我们可以定义多个Logger,并通过设置它们的name属性为类的包名来关联不同的日志输出策略。以下是一个简单的配置示例: `...
总结来说,动态设置Log4j的日志级别是提高应用灵活性的重要手段,可以根据运行时的需求调整日志输出的详细程度,同时避免不必要的重启操作。通过配置文件、API、JMX以及Web界面等多种方式,开发者可以方便地实现这一...
通过引入KafkaAppender,我们可以将Log4j的日志输出直接发送到Kafka的特定主题。这样,所有应用的日志都会被统一收集,无需关心具体的应用服务器。 在配置Log4j时,我们需要设置KafkaAppender的相关属性,包括Kafka...
Log4j的核心设计理念在于提供高度可配置的日志系统,使得开发人员可以根据实际需求调整日志的级别、输出目的地以及日志格式等。 #### 二、Log4j的基本组件 Log4j主要由以下几个核心组件组成: 1. **Logger** - ...
总结来说,WebLogic中使用Log4j生成日志文件涉及配置Log4j,将其集成到WebLogic环境,然后在代码中使用日志API。这个过程可以帮助开发者更好地跟踪系统运行情况,定位问题,优化性能,从而提高整体运维效率。通过...
通过"Logback实例,log4,slf4,logback日志输出demo"的学习,你可以掌握如何配置这些工具,以满足项目需求,如指定日志的存储位置,定制日志格式,以及管理日志文件的生命周期。实践这些示例,将有助于提升你在日志...
通过 log4j,开发人员可以方便地控制日志消息的级别(如 debug、info、warn 等)、输出格式、以及日志消息的去向(控制台、文件等)。 #### 二、log4j 的核心组件 log4j 主要包含三个核心组件:`Logger`、`...
Log4j的文档和包提供了全面的工具和配置选项,使得开发者可以自定义日志输出的级别、格式、目标和存储方式。 1. **日志级别**:Log4j支持多种日志级别,包括DEBUG、INFO、WARN、ERROR和FATAL。这些级别允许开发者...
logger是日志记录器,在log4j中,可以定义多个logger来分别控制不同类别的日志输出。 - **rootLogger**:表示根日志记录器,如果没有为某个特定的日志记录器设置级别,则会采用根记录器的级别。 #### 2. Appender ...
- **log4j-1.2.17.jar**: 这是Log4j 1.2.17版本的主jar文件,包含了Log4j库的所有类和方法。开发者可以通过在Java项目中引用这个jar,利用Log4j提供的API来实现各种日志记录功能,如控制台输出、文件写入、邮件发送...
通过研究源码,我们可以了解Log4j是如何实现日志的高效管理和定制化,同时也可以借鉴其设计思想,应用到自己的项目中。 对于"org"这个文件夹,通常在Java项目中,它代表的是组织或者项目的根包名。在Log4j的源码中...
例如,你可以设置某个类或整个包的日志级别,指定日志输出的位置和格式。 **4. 使用示例** 在描述中提到的"典型示例",可能包含了如何在项目中引入log4j-1.2.9.jar,创建Logger,设置日志级别,以及配置Appender和...
通过使用Log4j,开发者可以非常灵活地控制日志信息的输出目的地(如控制台、文件、GUI组件、网络套接字服务器、NT事件记录器、UNIX Syslog守护进程等)、每条日志信息的格式以及日志级别(例如DEBUG、INFO、WARN、...
1. **Logger**: 日志记录器是Log4j的核心,负责实际的日志输出。你可以创建多个logger,每个logger都有一个名字,并且可以通过这个名字来设置其日志级别。 2. **Level**: 日志级别定义了记录信息的重要性,包括...
例如,你可以设置日志输出到控制台、文件或者网络,也可以自定义日志格式。 2. **日志级别**:Log4j支持多种日志级别,包括DEBUG、INFO、WARN、ERROR和FATAL。DEBUG用于调试,INFO记录常规信息,WARN表示可能出现...
CONSOLE 用于将日志输出到控制台,而 R 用于将日志记录到文件中。我们还配置了日志的格式和大小限制等信息。 配置好 log4j.properties 文件后,我们可以Restart Tomcat 服务器,以便生效新的日志记录配置。在新的...
**Log4J日志管理类使用详解** 在Java开发中,日志记录是不可或缺的一部分,它可以帮助开发者追踪程序运行过程中的错误、调试信息以及性能监控等。Log4J是Apache组织提供的一款开源的日志框架,它以其强大的功能、...
2. **配置文件**: Log4j的核心在于其配置文件(通常是log4j.properties或log4j.xml),通过配置文件可以指定日志输出的位置、格式、级别等信息。 3. **Appenders**: Appenders是Log4j用于输出日志的目的地,如...