`
z_jiankun
  • 浏览: 164770 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

log4j 分级别写入不同的日志文件

    博客分类:
  • Java
阅读更多

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

 <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%c %d{ISO8601} -- %p -- %m%n" />
  </layout>
 </appender>

 <appender name="DEBUG"
  class="org.apache.log4j.RollingFileAppender">
  <param name="File" value="C:\\logs\\app-debug.log" />
  <param name="Append" value="true" />
  <param name="MaxFileSize" value="500KB" />
  <param name="MaxBackupIndex" value="2" />
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%c %d{ISO8601} -- %p -- %m%n" />
  </layout>

  <!-- filter作用?  配置LevelMax与LevelMin限定输出到文件的日志级别 -->
  <filter class="org.apache.log4j.varia.LevelRangeFilter">
   <param name="LevelMin" value="DEBUG" />
   <param name="LevelMax" value="DEBUG" />
  </filter>
 </appender>

 <appender name="INFO"
  class="org.apache.log4j.RollingFileAppender">
  <param name="File" value="C:\\logs\\app-info.log" />
  <param name="Append" value="true" />
  <param name="MaxFileSize" value="500KB" />
  <param name="MaxBackupIndex" value="2" />
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%c %d{ISO8601} -- %p -- %m%n" />
  </layout>
  <filter class="org.apache.log4j.varia.LevelRangeFilter">
   <param name="LevelMin" value="INFO" />
   <param name="LevelMax" value="INFO" />
  </filter>
 </appender>

 <appender name="WARN"
  class="org.apache.log4j.RollingFileAppender">
  <param name="File" value="C:\\logs\\app-warn.log" />
  <param name="Append" value="true" />
  <param name="MaxFileSize" value="500KB" />
  <param name="MaxBackupIndex" value="2" />
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%c %d{ISO8601} -- %p -- %m%n" />
  </layout>
  <filter class="org.apache.log4j.varia.LevelRangeFilter">
   <param name="LevelMin" value="WARN" />
   <param name="LevelMax" value="WARN" />
  </filter>
 </appender>

 <appender name="ERROR"
  class="org.apache.log4j.RollingFileAppender">
  <param name="File" value="C:\\logs\\app-error.log" />
  <param name="Append" value="true" />
  <param name="MaxFileSize" value="500KB" />
  <param name="MaxBackupIndex" value="2" />
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%c %d{ISO8601} -- %p -- %m%n" />
  </layout>
  <filter class="org.apache.log4j.varia.LevelRangeFilter">
   <param name="LevelMin" value="ERROR" />
   <param name="LevelMax" value="ERROR" />
  </filter>
 </appender>

 <root>
  <priority value="debug" />
  <appender-ref ref="STDOUT" />
  <appender-ref ref="DEBUG" />
  <appender-ref ref="INFO" />
  <appender-ref ref="WARN" />
  <appender-ref ref="ERROR" />
 </root>

</log4j:configuration>

 

 

class

 

import org.apache.log4j.Logger;

public class TestLog4j
{
    private static final Logger log = Logger.getLogger(TestLog4j.class);
   
    public static void main(String[] args)
    {
        log.debug("debug...");
        log.info("info...");
        log.warn("warn...");
        log.error("error...");
    }
}

 

log4j.appender.D.filter.infoFilter = org.apache.log4j.varia.LevelRangeFilter

log4j.appender.D.filter.infoFilter.LevelMin=DEBUG

log4j.appender.D.filter.infoFilter.LevelMax=DEBUG

 

分享到:
评论

相关推荐

    如何借助log4j把日志写入数据库中

    在Java开发中,日志记录是一项非常重要的任务,它帮助...在实际项目中,可以根据需求调整日志级别、输出格式,甚至可以添加多个Appender,实现日志的多目的地输出,如同时写入文件和数据库,以满足不同场景的需求。

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

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

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

    1. **配置文件**:Log4j的配置文件通常是`log4j.properties`或`log4j.xml`,它定义了日志的级别(如DEBUG、INFO、WARN、ERROR、FATAL)、输出目的地(控制台、文件、数据库等)以及布局格式。 2. **日志类**:在...

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

    本文将深入探讨如何利用`log4j`实现按照日期每天写入不同日志文件的功能,以及涉及到的相关知识点。 首先,我们要理解`log4j.properties`配置文件的作用。它是`log4j`的配置中心,通过这个文件我们可以定制日志输出...

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

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

    log4j按功能保存日志

    在“log4j按功能保存日志”的场景中,我们通常会利用Log4j的配置灵活性,将不同功能的日志分别写入不同的文件,以便于后期分析、排查问题和监控系统状态。 1. **Log4j基本概念** - **Logger**: 日志记录器,是Log4...

    log4j2在项目中的配置,对不同级别的日志进行不同文件的存储

    本文将详细解释如何配置Log4j2以实现不同级别的日志分别存储到不同的文件中。 首先,确保在项目中正确引入了Log4j2的jar包。通常,这可以通过在Maven或Gradle构建文件中添加依赖来完成。对于Maven,可以在pom.xml...

    log4j按照不同appender生成日志例子

    本示例将深入讲解如何利用Log4j的不同Appender来生成不同的日志文件,以满足不同接口或模块的日志记录需求。 首先,我们需要理解什么是Appender。在Log4j中,Appender是负责将日志信息输出到特定目的地的组件,如...

    log4j多文件输出打印

    本话题将深入探讨如何使用Log4j实现多文件输出打印,以及自定义日志的配置。 首先,我们要理解Log4j的基本工作原理。Log4j的核心组件包括Logger、Appender和Layout。Logger负责生成日志事件,Appender则负责接收...

    log4j日志文件

    - `log4j.appender.filelog.File=your file dir`:指定日志文件的位置。 - `log4j.appender.filelog.MaxFileSize=your filesize`:设定单个文件的最大大小。 - `log4j.appender.mylog.MaxBackupIndex=num`:设置...

    配置好log4j的eclipse简单工程,每天输出到一个日志文件中,该文件名为:“XXX_年月日时分.log”的形式

    总结,本工程展示了如何在Eclipse中配置Log4j,以便每天将日志写入特定格式的文件中。这个配置对于任何Java项目都具有实用性,特别是对于需要长期维护和监控的应用来说,良好的日志记录习惯能大大提高问题定位和解决...

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

    log4j.appender.FILE.DatePattern='.'yyyy-MM-dd'.log' # 每天生成一个新的日志文件 # 设置日志格式 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=%d...

    log4j日志写入数据库实例

    本文将深入探讨如何使用Log4j将日志信息写入数据库,以实现更高级别的日志管理和分析能力。 首先,Log4j是一个开源的日志记录工具,它允许程序员根据不同的级别(如DEBUG、INFO、WARN、ERROR和FATAL)记录应用程序...

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

    上述配置中,`log4j.appender.FILE.File`指定了日志文件的路径,`${user.home}/logs/myapp.log`表示日志将被写入用户主目录下的logs文件夹中的myapp.log文件。通过改变这个路径,我们就能动态地改变日志输出的位置。...

    log4j示例项目

    在Log4j项目中,通常会有一个`log4j.properties`或`log4j.xml`配置文件,用于定义日志行为。例如: ```properties # log4j.properties 示例 log4j.rootLogger=DEBUG, stdout, FILE log4j.appender.stdout=org....

    log4j简单范例 日志文件是相对路径的

    这个“log4j简单范例 日志文件是相对路径的”示例将展示如何配置Log4j来记录日志,并将日志文件保存在程序运行时的相对路径下。 首先,Log4j的核心组件包括Logger(日志器)、Appender(输出目的地)和Layout(格式...

    log4j-1.2.17.jar及配置文件

    在这个配置中,我们设置了全局日志级别为INFO,定义了两个Appender:一个将日志输出到控制台,另一个写入到指定的文件中,并且日志文件每天自动滚动一次。转换模式定义了日志的显示格式。 四、高级特性 Log4j还...

    示范如何在android工程中使用log4j记录日志

    5. **定制日志级别和输出**:根据需要,可以通过修改log4j2.xml配置文件来调整日志级别,或者添加其他Appender,比如文件Appender,将日志记录到特定文件中。 6. **性能考虑**:在生产环境中,通常会将日志级别设置...

    tomcat9 slf4j+log4j2 写日志.zip

    本教程主要关注如何在Tomcat 9环境中使用SLF4J(Simple Logging Facade for Java)和Log4j2进行日志记录,并解决可能出现的日志不写入问题。 首先,SLF4J是一个日志门面,它为各种日志框架提供了抽象层,如Logback...

Global site tag (gtag.js) - Google Analytics