参照:"小樽的雨后"转载的博客 log4j 不同的模块 不同的级别 记录日志
log4j.xml
<?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="%d{yyyy/MM/dd HH:mm:ss.sss} [%-5p] %c - %m%n" /> </layout> </appender> <appender name="traceLog4Debug" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="C:/WEB-INF/traceLog4Debug.log" /> <param name="maxFileSize" value="2000KB" /> <param name="maxBackupIndex" value="20" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss.sss} [%-5p] %c - %m%n" /> </layout> </appender> <appender name="debugLog" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="C:/WEB-INF/debug.log" /> <param name="maxFileSize" value="2000KB" /> <param name="maxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss.sss} [%-5p] %c - %m%n" /> </layout> <span style="color: #ff0000;"><!-- filter作用? 配置LevelMax与LevelMin限定输出到文件的日志级别 --> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMax" value="DEBUG" /> <param name="LevelMin" value="DEBUG" /> </filter> </span> </appender> <appender name="infoLog" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="C:/WEB-INF/info.log" /> <param name="maxFileSize" value="2000KB" /> <param name="maxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss.sss} [%-5p] %c - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMax" value="INFO" /> <param name="LevelMin" value="INFO" /> </filter> </appender> <appender name="warnLog" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="C:/WEB-INF/warn.log" /> <param name="maxFileSize" value="2000KB" /> <param name="maxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss.sss} [%-5p] %c - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMax" value="WARN" /> <param name="LevelMin" value="WARN" /> </filter> </appender> <appender name="errorLog" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="C:/WEB-INF/error.log" /> <param name="maxFileSize" value="2000KB" /> <param name="maxBackupIndex" value="10" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss.sss} [%-5p] %c - %m%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <param name="LevelMax" value="ERROR" /> <param name="LevelMin" value="ERROR" /> </filter> </appender> <!-- 记录该包下所有日志 --> <logger name="com.test"> <level value="ALL" /> <appender-ref ref="stdout" /> <appender-ref ref="traceLog4Debug" /> <appender-ref ref="debugLog" /> <appender-ref ref="infoLog" /> <appender-ref ref="warnLog" /> <appender-ref ref="errorLog" /> </logger> <!-- <logger name="org.hibernate.SQL"> <level value="DEBUG" /> <appender-ref ref="traceLog4Debug" /> <appender-ref ref="stdout" /> </logger> <logger name="org.hibernate"> <level value="error" /> <appender-ref ref="traceLog4Debug" /> <appender-ref ref="stdout" /> </logger> <logger name="org.springframework"> <level value="error" /> <appender-ref ref="traceLog4Debug" /> <appender-ref ref="stdout" /> </logger> --> </log4j:configuration>
测试:Main.java
package com.test; import org.apache.log4j.Logger; /** * @ClassName: Main * @Description: TODO * @author * @company * @date 2013-3-8 * @version V1.0 */ public class Main { private static final Logger log = Logger.getLogger(Main.class); /**@Title: main * @Description: TODO * @param args: * @author * @date 2013-3-8 */ public static void main(String[] args) { log.debug("debug"); log.info("info"); log.warn("warn"); log.error("error"); } }
生成的文件
文件中的内容:
debug.log:
2013/03/08 11:02:20.020 [DEBUG] com.test.Main - debug 2013/03/08 11:02:20.020 [INFO ] com.test.Main - info 2013/03/08 11:02:20.020 [WARN ] com.test.Main - warn 2013/03/08 11:02:20.020 [ERROR] com.test.Main - error
error.log
2013/03/08 11:02:20.020 [ERROR] com.test.Main - error
info.log
2013/03/08 11:02:20.020 [INFO ] com.test.Main - info
traceLog4Debug.log
2013/03/08 11:02:20.020 [DEBUG] com.test.Main - debug 2013/03/08 11:02:20.020 [INFO ] com.test.Main - info 2013/03/08 11:02:20.020 [WARN ] com.test.Main - warn 2013/03/08 11:02:20.020 [ERROR] com.test.Main - error
warn.log
2013/03/08 11:02:20.020 [WARN ] com.test.Main - warn
相关推荐
在“Log4j2实现不同线程不同级别日志输出到不同的文件中”这个主题中,我们将深入探讨如何利用Log4j2实现这一高级日志管理需求。 1. **日志级别**: - 在Log4j2中,日志级别包括DEBUG、INFO、WARN、ERROR、FATAL...
### Log4j 不同级别日志分不同文件记录详解 #### 概述 在软件开发过程中,日志记录是一项至关重要的工作。它不仅能够帮助开发者快速定位问题所在,还能够为系统的运维提供宝贵的信息。Apache Log4j 是一个非常流行...
本文将详细解释如何配置Log4j2以实现不同级别的日志分别存储到不同的文件中。 首先,确保在项目中正确引入了Log4j2的jar包。通常,这可以通过在Maven或Gradle构建文件中添加依赖来完成。对于Maven,可以在pom.xml...
在Java开发中,日志记录是一项至关重要的任务,它帮助开发者追踪程序运行状态,定位问题。Log4j是Apache组织提供的一款广泛使用的日志框架,它允许开发者灵活地控制日志信息的输出。本文将详细讲解如何动态设置Log4j...
1. **配置文件**:如`log4j2.xml`,这是Log4j2的配置中心,定义了日志记录的策略、级别、输出目标等。 2. **日志记录器(Logger)**:负责收集和处理日志事件。 3. **日志级别(Level)**:如`TRACE`, `DEBUG`, `...
Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM 整合中的 Log4j 配置详情,帮助...
在“log4j按功能保存日志”的场景中,我们通常会利用Log4j的配置灵活性,将不同功能的日志分别写入不同的文件,以便于后期分析、排查问题和监控系统状态。 1. **Log4j基本概念** - **Logger**: 日志记录器,是Log4...
在这个文件中,我们可以定义多个Appender(输出目的地)和Logger(日志记录器),每个Logger可以关联一个或多个Appender,并且可以设置不同的日志级别。 例如,如果我们想把`com.example.module1`包的日志输出到`...
5. **数据库写入**:要将日志记录到数据库,需要在`log4j.properties`配置文件中设置Appender。例如,可以使用`JDBCAppender`,配置包括数据库连接URL、用户名、密码、SQL语句等。SQL语句通常会插入日志级别、时间戳...
Log4j作为Java领域广泛应用的日志框架,提供了强大的日志记录功能和灵活的配置。本文将深入探讨log4j的配置以及配置文件的详解。** 首先,我们要理解什么是`log4j.properties`文件。这是log4j框架的配置文件,使用...
Log4j 是一个广泛使用的日志记录工具,能够帮助开发者跟踪应用程序运行过程中的信息、警告、错误等事件。本文将深入探讨如何在 MyBatis 中配置 Log4j,实现日志同时输出到后台控制台和文件。 1. **日志框架集成** ...
在使用Log4j记录Debug日志时,确保项目中引入了相应的Log4j库,并正确配置了`log4j.properties`或`log4j.xml`文件,设置DEBUG级别,然后在代码中使用Logger对象进行日志记录。例如: ```java import org.apache.log4...
5. **定制日志级别和输出**:根据需要,可以通过修改log4j2.xml配置文件来调整日志级别,或者添加其他Appender,比如文件Appender,将日志记录到特定文件中。 6. **性能考虑**:在生产环境中,通常会将日志级别设置...
压缩包中的"**lib**"目录可能包含Log4j的必要依赖库,比如`log4j.jar`,这是运行Log4j的日志记录功能所必需的。确保这些库文件被添加到Tomcat的`lib`目录,使得所有部署的应用都能访问Log4j。 综上所述,通过正确...
通过合理设置日志级别,Log4j可以帮助开发者和系统管理员有效地管理日志输出,确保在不同环境下(如开发、测试和生产)记录合适的信息量。正确使用日志级别不仅可以提高应用程序的可维护性和可监控性,还可以在故障...
在 Log4j 中,日志记录器的级别(Level)可以分为七种:DEBUG、INFO、WARN、ERROR、FATAL、ALL 和 OFF。每种级别都有其特定的作用和应用场景。 DEBUG 级别 DEBUG 级别是 Log4j 中最低的日志级别,用于记录详细的...
在Log4j中,控制日志级别主要通过配置文件`log4j.properties`或`log4j.xml`来实现。在提供的压缩包`log4j-demo`中,我们可以找到这样的配置文件。例如,如果我们想要控制特定类`com.example.MyClass`的日志级别为...
Log4j是一款广泛使用的日志记录框架,尤其在Java应用程序中。它提供了灵活的日志配置,使得开发者能够根据需要调整日志输出的方式、级别和目的地。在这个特定的配置场景中,我们将探讨如何设置log4j,使其能将不同...
Log4j2支持多种日志记录级别(如DEBUG、INFO、WARN、ERROR),并允许通过XML、JSON、YAML或纯Java配置文件进行灵活配置。 二、日志数据脱敏概念 日志数据脱敏是指在不影响日志分析的前提下,对敏感信息进行替换、...