0 0

java的log4j日志输出到多个目录5

项目中用到的某个工具类的日志跟其他的日志重合了,比较繁乱,请问如何输出各自的日志到不同目录啊?
2014年9月10日 19:33

1个答案 按时间排序 按投票排序

0 0

<?xml version="1.0" encoding="GBK"?>  
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">  
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!--******************************-->
<!-- console define -->
<!--******************************-->
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
        <layout class="org.apache.log4j.PatternLayout"> 
            <param name="ConversionPattern"    
                value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" /> 
        </layout> 

        <filter class="org.apache.log4j.varia.LevelRangeFilter"> 
            <param name="levelMin" value="info" /> 
            <param name="levelMax" value="ERROR" /> 
            <param name="AcceptOnMatch" value="true" /> 
        </filter> 
    </appender> 

<!--******************************-->
<!-- log file define -->
<!--******************************-->
<!-- [公共Appender] 汇总错误 -->
<appender name="ERROR-APPENDER" class="org.apache.log4j.DailyRollingFileAppender">
<param name="encoding" value="UTF-8"/>
<param name="File" value="/opt/poss/logs/common-error.log" />   
<param name="Threshold" value="error" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />   
        <layout class="org.apache.log4j.PatternLayout"> 
         <param name="ConversionPattern"   
            value="[%-5p] %d{HH:mm:ss,SSS} (%F:%L) %n---%X{transNo} %m%n" /> 
        </layout>  
</appender>
<!-- [应用Appender] 服务-默认-->
<appender name="ALL-APPENDER" class="org.apache.log4j.DailyRollingFileAppender"> 
<param name="encoding" value="UTF-8"/>
        <param name="File" value="/opt/poss/logs/default-all.log" />   
        <param name="DatePattern" value="'.'yyyy-MM-dd" />   
        <layout class="org.apache.log4j.PatternLayout"> 
         <param name="ConversionPattern"   
            value="[%-5p] %d{HH:mm:ss,SSS} (%F:%L) %n---%X{transNo} %m%n" /> 
        </layout>   
    </appender>

<!-- [公共Appender] 数据访问层 -->
<appender name="DAL-APPENDER" class="org.apache.log4j.DailyRollingFileAppender"> 
<param name="encoding" value="UTF-8"/>
        <param name="File" value="/opt/poss/logs/dao.log" />   
        <param name="DatePattern" value="'.'yyyy-MM-dd" />   
        <layout class="org.apache.log4j.PatternLayout"> 
         <param name="ConversionPattern"   
            value="[%-5p] %d{HH:mm:ss,SSS} (%F:%L) %n---%m%n" /> 
        </layout>   
    </appender>

<!-- [应用Appender] 服务层 -->
<appender name="SERVICE-APPENDER" class="org.apache.log4j.DailyRollingFileAppender"> 
<param name="encoding" value="UTF-8"/>
        <param name="File" value="/opt/poss/logs/service.log" />
        <param name="DatePattern" value="'.'yyyy-MM-dd" />
        <layout class="org.apache.log4j.PatternLayout"> 
         <param name="ConversionPattern"   
            value="[%-5p] %d{HH:mm:ss,SSS} (%F:%L) %n---%X{transNo} %m%n" /> 
        </layout>   
    </appender>

<!--******************************-->
<!-- dispatch to the log file -->
<!--******************************-->
<!-- [框架Logger] 数据访问层 - Ibatis -->
<logger name="com.ibatis" additivity="false">
<level value="DEBUG" />
<appender-ref ref="DAL-APPENDER" />
<appender-ref ref="ERROR-APPENDER" />
</logger>

<!-- [框架Logger] 数据访问层 - SQL -->
<logger name="java.sql" additivity="false">
<level value="DEBUG" />
<appender-ref ref="DAL-APPENDER" />
<appender-ref ref="ERROR-APPENDER" />
</logger>

<!-- [应用Logger] 扩展服务 -->
    <logger name="com.xxx.yyy.service" additivity="false"> 
        <level value ="DEBUG"/>   
        <appender-ref ref="SERVICE-APPENDER" />
<appender-ref ref="ERROR-APPENDER" />
    </logger>

<!--******************************-->
<!-- the root set-->
<!--******************************-->
<root> 
        <level value="DEBUG"/> 
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="ERROR-APPENDER"/>
    </root>

</log4j:configuration>

2014年9月11日 09:30

相关推荐

    log4j使用与java中log4j记录日志如何写入数据库

    在实际应用中,可能会根据需求调整日志的输出策略,比如添加过滤器、使用不同的布局模式,或者配置多个Appender同时将日志输出到控制台、文件和数据库。总之,理解和掌握Log4j的使用,能够极大地方便开发者进行日志...

    Log4j2实现不同线程不同级别日志输出到不同的文件中

    在“Log4j2实现不同线程不同级别日志输出到不同的文件中”这个主题中,我们将深入探讨如何利用Log4j2实现这一高级日志管理需求。 1. **日志级别**: - 在Log4j2中,日志级别包括DEBUG、INFO、WARN、ERROR、FATAL...

    log4j配置 输出日志 案例

    本文将深入讲解如何配置log4j以实现日志输出到控制台和文件,并提供相关代码实例和案例分析。** ### 一、Log4j简介 Log4j是Apache组织开发的一个开源项目,用于生成日志信息。它提供了灵活的配置方式,支持多种输出...

    log4j2.xml记录日志到到数据库

    1. **配置文件**:如`log4j2.xml`,这是Log4j2的配置中心,定义了日志记录的策略、级别、输出目标等。 2. **日志记录器(Logger)**:负责收集和处理日志事件。 3. **日志级别(Level)**:如`TRACE`, `DEBUG`, `...

    log4j多文件输出打印

    在"Log4j多文件输出打印"的场景下,我们通常会配置多个Appender,每个Appender对应一个不同的输出文件。这样,不同的日志信息可以被分别写入不同的文件,便于管理和分析。例如,在`log4j.properties`配置文件中,...

    log4j(二):动态配置日志输出路径

    Log4j主要包括三个关键部分:Logger(日志器)、Appender(输出器)和Layout(布局)。Logger负责生成日志事件,Appender决定这些事件如何被输出(例如,写入文件、发送邮件或显示在控制台),而Layout则决定了日志...

    Log4j将System.out搞到log4j中输出四

    Log4j提供了一个名为`org.apache.log4j.ConsoleAppender`的类,用于将日志输出到控制台,我们可以通过自定义Filter或者继承现有Appender来实现这个功能。 下面是一个简单的示例,展示如何在Log4j配置文件中设置...

    log4j按功能保存日志

    - 在Log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)中,你可以定义多个Appender,每个Appender对应一个特定的功能或模块。 - 使用`category`或`logger`标签指定Logger的名称,这通常与你的功能模块相...

    无法打出log4j日志的问题排查

    在IT行业中,日志记录是调试和监控应用程序的关键部分,特别是对于Java开发者而言,Log4j是一个非常常用的日志框架。当我们遇到“无法打出log4j日志的问题”,这通常是由于配置、环境或代码实现中的某些错误导致的。...

    java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)

    本文将详细讲解如何使用Log4j实现自定义日志输出到多个文件。 首先,Log4j的核心概念是`Logger`和`Appender`。`Logger`负责生成日志事件,而`Appender`则负责处理这些事件,例如将其写入文件、控制台或其他输出目的...

    log4j 配置日志文件,把日志信息输出到项目的某个文件夹下

    在本文中,我们将深入探讨如何配置log4j,以便将日志信息输出到项目中的特定文件夹。 首先,我们需要创建一个`log4j.properties`或`log4j.xml`配置文件,这个文件通常放在项目的`src/main/resources`目录下。在这个...

    log4j 写多个日志文件,按照日期每天都记

    1. **配置多个Appender**:`log4j`允许定义多个Appender,每个Appender可以有不同的输出目的地,如控制台、文件、数据库等。在我们的需求中,我们需要为每一天创建一个单独的日志文件,所以需要为每一天定义一个...

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

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

    Log4j分包输出日志

    Log4j作为Java领域内广泛应用的日志框架,其功能强大且灵活,尤其在分包日志输出方面表现突出。本文将深入探讨Log4j如何实现分包日志输出,以及在实际应用中如何配置和使用。 首先,我们需要理解Log4j的核心概念。...

    Log4Cpp日志输出至文件组件最佳实践

    Log4Cpp是一个流行的C++日志库,它模仿了Java的Log4j框架,提供了灵活的日志输出功能。本篇文章将深入探讨如何利用Log4Cpp有效地将日志输出到文件,实现最佳实践。 首先,理解Log4Cpp的基本结构至关重要。Log4Cpp...

    java log4j配置大全

    Log4j 是 Apache 的一个开源项目,被广泛应用于 Java 应用程序的日志记录中。通过 Log4j,开发者可以轻松控制日志信息的输出目的地、格式以及级别。这使得日志的管理变得更加灵活和高效。 #### 二、Log4j 配置文件...

    log4j2异步多线程打印

    此外,Log4j2还支持配置多个Appenders(日志输出目的地),这样不同的线程可以根据需求将日志输出到不同的文件或位置。 **Log4j2配置** 在Log4j2中,配置文件通常使用XML、JSON或YAML格式,可以灵活定义日志级别、...

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

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

Global site tag (gtag.js) - Google Analytics