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

log4j不同级别日志分别记录在不同文件中

 
阅读更多

 

参照:"小樽的雨后"转载的博客  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

 

  • 大小: 2.5 KB
分享到:
评论

相关推荐

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

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

    log4j不同级别日志分不同文件记录

    ### Log4j 不同级别日志分不同文件记录详解 #### 概述 在软件开发过程中,日志记录是一项至关重要的工作。它不仅能够帮助开发者快速定位问题所在,还能够为系统的运维提供宝贵的信息。Apache Log4j 是一个非常流行...

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

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

    动态设置log4j的日志级别

    在Java开发中,日志记录是一项至关重要的任务,它帮助开发者追踪程序运行状态,定位问题。Log4j是Apache组织提供的一款广泛使用的日志框架,它允许开发者灵活地控制日志信息的输出。本文将详细讲解如何动态设置Log4j...

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

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

    SSM整合中的Log4j日志的配置详情

    Log4j 是一个功能强大且广泛使用的日志记录工具,特别是在 SSM(Spring、Spring MVC、Mybatis)整合项目中,合理地配置 Log4j 对项目的日志记录和输出至关重要。本文将详细介绍 SSM 整合中的 Log4j 配置详情,帮助...

    log4j按功能保存日志

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

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

    在这个文件中,我们可以定义多个Appender(输出目的地)和Logger(日志记录器),每个Logger可以关联一个或多个Appender,并且可以设置不同的日志级别。 例如,如果我们想把`com.example.module1`包的日志输出到`...

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

    5. **数据库写入**:要将日志记录到数据库,需要在`log4j.properties`配置文件中设置Appender。例如,可以使用`JDBCAppender`,配置包括数据库连接URL、用户名、密码、SQL语句等。SQL语句通常会插入日志级别、时间戳...

    log4j日志配置以及配置文件详解

    Log4j作为Java领域广泛应用的日志框架,提供了强大的日志记录功能和灵活的配置。本文将深入探讨log4j的配置以及配置文件的详解。** 首先,我们要理解什么是`log4j.properties`文件。这是log4j框架的配置文件,使用...

    mybatis,log4j打印日志到后台和文件

    Log4j 是一个广泛使用的日志记录工具,能够帮助开发者跟踪应用程序运行过程中的信息、警告、错误等事件。本文将深入探讨如何在 MyBatis 中配置 Log4j,实现日志同时输出到后台控制台和文件。 1. **日志框架集成** ...

    log4j记录Debug日志

    在使用Log4j记录Debug日志时,确保项目中引入了相应的Log4j库,并正确配置了`log4j.properties`或`log4j.xml`文件,设置DEBUG级别,然后在代码中使用Logger对象进行日志记录。例如: ```java import org.apache.log4...

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

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

    tomcat8更换log4j记录日志

    压缩包中的"**lib**"目录可能包含Log4j的必要依赖库,比如`log4j.jar`,这是运行Log4j的日志记录功能所必需的。确保这些库文件被添加到Tomcat的`lib`目录,使得所有部署的应用都能访问Log4j。 综上所述,通过正确...

    Log4j日志等级,具体说明了log4j中的日志记录等级,对于自己写日志有很大帮助。

    通过合理设置日志级别,Log4j可以帮助开发者和系统管理员有效地管理日志输出,确保在不同环境下(如开发、测试和生产)记录合适的信息量。正确使用日志级别不仅可以提高应用程序的可维护性和可监控性,还可以在故障...

    Log4j日志级别

    在 Log4j 中,日志记录器的级别(Level)可以分为七种:DEBUG、INFO、WARN、ERROR、FATAL、ALL 和 OFF。每种级别都有其特定的作用和应用场景。 DEBUG 级别 DEBUG 级别是 Log4j 中最低的日志级别,用于记录详细的...

    log4j-控制指定类,包的日志级别:log4j-demo.zip

    在Log4j中,控制日志级别主要通过配置文件`log4j.properties`或`log4j.xml`来实现。在提供的压缩包`log4j-demo`中,我们可以找到这样的配置文件。例如,如果我们想要控制特定类`com.example.MyClass`的日志级别为...

    log4j 不同级别 不同文件 发送邮件配置

    Log4j是一款广泛使用的日志记录框架,尤其在Java应用程序中。它提供了灵活的日志配置,使得开发者能够根据需要调整日志输出的方式、级别和目的地。在这个特定的配置场景中,我们将探讨如何设置log4j,使其能将不同...

    使用log4j2实现日志数据脱敏

    Log4j2支持多种日志记录级别(如DEBUG、INFO、WARN、ERROR),并允许通过XML、JSON、YAML或纯Java配置文件进行灵活配置。 二、日志数据脱敏概念 日志数据脱敏是指在不影响日志分析的前提下,对敏感信息进行替换、...

Global site tag (gtag.js) - Google Analytics