`
三问飞絮
  • 浏览: 320602 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Log4j实现分功能模块输出

    博客分类:
  • Java
阅读更多

场景要求:原工程中,添加了控制台(Console)及文件输出(DailyRollingFile)。现需要将接口部分单独一个日志文件以方便监控。

实现:如下示例代码,结果DailyRollingFile的内容也将包含test.interfaces包下面WARN级别的日志输出。

 

   <logger name="test.interfaces" >
        <level value="INFO"/>
        <appender-ref ref="demoAppender"/>
    </logger>
     
    <root>
        <level value="WARN"/>
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="DailyRollingFile"/>
</root>

 

 

如果test.interfaces包下需要单独输出日志文件,且总的日志文件并不显示。则需要使用additivity属性。默认为true,

标记日志记录器(Logger)的关联性。

 

<logger name="test" additivity="false">
        <level value="DEBUG"/>
        <appender-ref ref="DEMO"/>
  </logger>

 

 

摘录log4j官方说明:

Additivity

 

The output of a log statement of logger C will go to all the appenders in C and its ancestors. This is the meaning of the term "appender additivity".

However, if an ancestor of logger C, say P, has the additivity flag set to false, then C's output will be directed to all the appenders in C and it's ancestors upto and including P but not the appenders in any of the ancestors of P.

Loggers have their additivity flag set to true by default.

 

分享到:
评论
3 楼 三问飞絮 2011-02-28  
ycaicainiao 写道
这哪里是按模块
这是按包名


一个简单的做法是不用默认的 package/class来配置获取logger

直接用logger名。

目前的场景是开发已经完成。
后期需要将接口部分单独输出一个日志文件。

当然了,说模块跟包名,都可以。
2 楼 ycaicainiao 2011-02-24  
这哪里是按模块
这是按包名


一个简单的做法是不用默认的 package/class来配置获取logger

直接用logger名。
1 楼 bjsq618 2011-02-24  
还可以添加一些自定义设置,如在INFO级别下可以定义10个模块,我可以设置让哪些模块显示,哪些不显示等

相关推荐

    Log4j日志根据模块不同输出到不同的日志文件开发配置,便于监控项目各功能模块的运行情况

    文件中内容包括模块中某个类单独输出到一个日志文件中、模块中某个package单独输出到一个日志文件中、同一模块不同package输出到一个日志文件中三种情况下log4j.properties配置项配置事例、Java类中代码如何一致编写...

    Log4j采用分模块输出不同日志文件的配置

    Log4j采用分模块输出不同日志文件的配置

    log4j按功能保存日志

    Log4j是一款广泛使用的Java日志记录框架,它允许开发者按照功能模块或特定需求记录应用程序运行过程中的事件信息。在“log4j按功能保存日志”的场景中,我们通常会利用Log4j的配置灵活性,将不同功能的日志分别写入...

    log4j-api-2.12.4.ja和log4j-core-2.12.4.jar

    **log4j-core-2.12.4.jar** 则是Log4j 2的核心实现模块,它实现了API模块中定义的接口,并负责实际的日志记录工作,包括日志事件的处理、输出格式化、日志存储以及性能优化等功能。此外,核心模块还包含了一些附加...

    apache-log4j-1.2.16.rar_apache log4j 1.2.16_log4j source code_lo

    Log4j 1.2.16是该框架的一个版本,提供了丰富的日志功能,允许开发者灵活地控制日志信息的输出方式和级别。这个压缩包包含了Log4j 1.2.16的源代码,对于学习和理解Log4j的工作原理以及自定义其行为非常有帮助。 在...

    log4j-2.15.0-rc2-log4j.zip

    通过使用Log4j-slf4j-impl,可以在项目中使用SLF4J的API,同时享受到Log4j的强大功能。这个版本同样考虑了与SLF4J接口的兼容性,确保了在不同日志框架之间的平滑迁移。 4. **Log4j-to-slf4j-2.15.0.jar**: 这是一...

    log4j各个版本

    1. Log4j 1.2.6:这是Log4j的一个较早版本,提供了基本的日志记录功能,包括定义不同级别的日志(如DEBUG、INFO、WARN、ERROR和FATAL),以及通过配置文件自定义日志输出格式和目的地(如控制台、文件、SMTP等)。...

    Log4j 把不同包的日志打印到不同位置

    这篇博客"Log4j 把不同包的日志打印到不同位置"可能详细解释了如何利用Log4j配置来实现特定包的日志定向输出,以便于管理和分析来自不同模块的日志信息。 在Java应用中,我们常常会遇到多个模块或者不同包的类同时...

    log4j输出多个自定义路径的日志文件小例子

    要实现输出多个自定义路径的日志文件,我们需要在Log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)中定义多个Appender。Appender是Log4j中负责将日志信息输出到指定目的地的组件,例如文件、控制台、网络...

    log4j多文件目标输出

    本教程将详细介绍如何使用Log4j实现多文件目标输出。 一、Log4j简介 Log4j是一款开源的日志组件,它提供了丰富的配置选项,能够满足不同项目的需求,包括控制日志级别、选择日志输出目的地(控制台、文件、数据库等...

    log4j.1.2.17

    Log4j,作为Java世界中最广泛使用的日志框架之一,因其强大的功能和灵活的配置,成为了开发者的首选工具。本文将重点围绕Log4j 1.2.17版本展开,详细介绍其核心概念、使用方法以及配置细节。 1. **Log4j简介** Log...

    log4j-1.2.17.jar及配置文件

    Log4j是一个灵活且高效的日志记录库,为Java应用程序提供了丰富的日志功能。它的设计目标是提供一个能够进行调试、性能监测、系统管理和安全控制的工具。Log4j的核心组件包括Logger(日志器)、Appender(输出端)和...

    Log4j分包输出日志

    实现分包日志输出的关键在于配置文件(通常是log4j.properties或log4j.xml)。在配置文件中,我们可以定义多个Logger,并通过设置它们的name属性为类的包名来关联不同的日志输出策略。以下是一个简单的配置示例: `...

    log4j2 -2.11.1.zip

    Log4j2是Java日志记录框架的著名组件,它为开发者提供了强大的日志管理和分析功能。这个"Log4j2-2.11.1.zip"压缩包包含了该框架的2.11.1版本,这是一个稳定且广泛使用的版本。在本篇中,我们将深入探讨Log4j2的核心...

    android-logging-log4j-1.0.3.jar

    `android-logging-log4j-1.0.3.jar`这个库文件就是为了解决这个问题,它提供了适配Android的Log4j实现,允许开发者在Android应用中无缝集成Log4j,并将日志信息存储到SD卡上,便于后期分析和调试。 三、集成与使用 ...

    log4j参考手册

    Log4j的核心功能在于它允许程序员定义多个日志记录器(Logger),每个记录器可以有自己的输出目的地和日志级别。日志级别通常包括DEBUG、INFO、WARN、ERROR和FATAL,它们按照严重程度排序,开发者可以根据需要设置每...

    Log4j实例

    Log4j是一款广泛应用于Java平台的日志记录框架,它提供了灵活且强大的日志记录功能,使得开发者能够方便地控制日志信息的输出级别、格式以及目的地。本实例将深入探讨Log4j的基本使用方法和配置。 一、Log4j的核心...

    Log4j jar包.rar

    2. **可扩展性**:Log4j支持多种输出方式,可以通过添加新的Appender轻松扩展其功能。 3. **性能**:Log4j的性能高效,对应用程序的运行时性能影响小。 4. **模块化**:每个类可以有自己的logger,便于定位问题和...

    slf4j与Log4j集成

    总结来说,SLF4J和Log4j的集成是Java日志管理中的常见实践,通过SLF4J的抽象接口和Log4j的具体实现,我们可以灵活地控制日志的输出,并利用Log4j的配置进行定制化管理,从而更好地调试和监控我们的应用。

    log4j 源码包 日志包 2.11.0

    日志级别管理是Log4j的核心功能之一,通过设置不同的级别,可以在不影响程序运行的情况下,灵活控制日志的输出级别,平衡信息的详细程度和性能。 通过对Log4j 2.11.0源码的深入研究,开发者不仅可以掌握其基本用法...

Global site tag (gtag.js) - Google Analytics