<?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
相关推荐
在Java开发中,日志记录是一项非常重要的任务,它帮助...在实际项目中,可以根据需求调整日志级别、输出格式,甚至可以添加多个Appender,实现日志的多目的地输出,如同时写入文件和数据库,以满足不同场景的需求。
在“Log4j2实现不同线程不同级别日志输出到不同的文件中”这个主题中,我们将深入探讨如何利用Log4j2实现这一高级日志管理需求。 1. **日志级别**: - 在Log4j2中,日志级别包括DEBUG、INFO、WARN、ERROR、FATAL...
1. **配置文件**:Log4j的配置文件通常是`log4j.properties`或`log4j.xml`,它定义了日志的级别(如DEBUG、INFO、WARN、ERROR、FATAL)、输出目的地(控制台、文件、数据库等)以及布局格式。 2. **日志类**:在...
本文将深入探讨如何利用`log4j`实现按照日期每天写入不同日志文件的功能,以及涉及到的相关知识点。 首先,我们要理解`log4j.properties`配置文件的作用。它是`log4j`的配置中心,通过这个文件我们可以定制日志输出...
1. **配置文件**:如`log4j2.xml`,这是Log4j2的配置中心,定义了日志记录的策略、级别、输出目标等。 2. **日志记录器(Logger)**:负责收集和处理日志事件。 3. **日志级别(Level)**:如`TRACE`, `DEBUG`, `...
在“log4j按功能保存日志”的场景中,我们通常会利用Log4j的配置灵活性,将不同功能的日志分别写入不同的文件,以便于后期分析、排查问题和监控系统状态。 1. **Log4j基本概念** - **Logger**: 日志记录器,是Log4...
本文将详细解释如何配置Log4j2以实现不同级别的日志分别存储到不同的文件中。 首先,确保在项目中正确引入了Log4j2的jar包。通常,这可以通过在Maven或Gradle构建文件中添加依赖来完成。对于Maven,可以在pom.xml...
本示例将深入讲解如何利用Log4j的不同Appender来生成不同的日志文件,以满足不同接口或模块的日志记录需求。 首先,我们需要理解什么是Appender。在Log4j中,Appender是负责将日志信息输出到特定目的地的组件,如...
本话题将深入探讨如何使用Log4j实现多文件输出打印,以及自定义日志的配置。 首先,我们要理解Log4j的基本工作原理。Log4j的核心组件包括Logger、Appender和Layout。Logger负责生成日志事件,Appender则负责接收...
- `log4j.appender.filelog.File=your file dir`:指定日志文件的位置。 - `log4j.appender.filelog.MaxFileSize=your filesize`:设定单个文件的最大大小。 - `log4j.appender.mylog.MaxBackupIndex=num`:设置...
总结,本工程展示了如何在Eclipse中配置Log4j,以便每天将日志写入特定格式的文件中。这个配置对于任何Java项目都具有实用性,特别是对于需要长期维护和监控的应用来说,良好的日志记录习惯能大大提高问题定位和解决...
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd'.log' # 每天生成一个新的日志文件 # 设置日志格式 log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=%d...
本文将深入探讨如何使用Log4j将日志信息写入数据库,以实现更高级别的日志管理和分析能力。 首先,Log4j是一个开源的日志记录工具,它允许程序员根据不同的级别(如DEBUG、INFO、WARN、ERROR和FATAL)记录应用程序...
上述配置中,`log4j.appender.FILE.File`指定了日志文件的路径,`${user.home}/logs/myapp.log`表示日志将被写入用户主目录下的logs文件夹中的myapp.log文件。通过改变这个路径,我们就能动态地改变日志输出的位置。...
在Log4j项目中,通常会有一个`log4j.properties`或`log4j.xml`配置文件,用于定义日志行为。例如: ```properties # log4j.properties 示例 log4j.rootLogger=DEBUG, stdout, FILE log4j.appender.stdout=org....
这个“log4j简单范例 日志文件是相对路径的”示例将展示如何配置Log4j来记录日志,并将日志文件保存在程序运行时的相对路径下。 首先,Log4j的核心组件包括Logger(日志器)、Appender(输出目的地)和Layout(格式...
在这个配置中,我们设置了全局日志级别为INFO,定义了两个Appender:一个将日志输出到控制台,另一个写入到指定的文件中,并且日志文件每天自动滚动一次。转换模式定义了日志的显示格式。 四、高级特性 Log4j还...
5. **定制日志级别和输出**:根据需要,可以通过修改log4j2.xml配置文件来调整日志级别,或者添加其他Appender,比如文件Appender,将日志记录到特定文件中。 6. **性能考虑**:在生产环境中,通常会将日志级别设置...
本教程主要关注如何在Tomcat 9环境中使用SLF4J(Simple Logging Facade for Java)和Log4j2进行日志记录,并解决可能出现的日志不写入问题。 首先,SLF4J是一个日志门面,它为各种日志框架提供了抽象层,如Logback...