`

如何使用log4j输出单个级别的log到指定文件

阅读更多
通过配置log4j.properties实现输出单个级别的log到指定文件。

顺便把关联的配置文件都贴出来
环境:Struts2 + Spring3

web.xml
<!-- 2011.10.20 配置log start -->
<!--由Sprng载入的Log4j配置文件位置-->
<context-param>
	<param-name>log4jConfigLocation</param-name>
	<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<!--Spring默认刷新Log4j配置文件的间隔,单位为millisecond--> 
<context-param>
	<param-name>log4jRefreshInterval</param-name>
	<param-value>60000</param-value>
</context-param>
<!--Spring log4j 监听器-->
<listener>
	<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- 2011.10.20 配置log end -->


log4j.properties
log4j.logger.BUSINESS=DEBUG,A7

log4j.appender.A7=org.apache.log4j.RollingFileAppender
log4j.appender.A7.Threshold=INFO
log4j.appender.A7.File=${catalina.base}/logs/business-info.log
log4j.appender.A7.DatePattern='.'yyyy-MM-dd
log4j.appender.A7.Append=true
log4j.appender.A7.Encoding=gbk
log4j.appender.A7.MaxFileSize=5000KB
log4j.appender.A7.MaxBackupIndex=1000
log4j.appender.A7.layout=org.apache.log4j.PatternLayout
log4j.appender.A7.layout.ConversionPattern=%d %5p %c{1} %x - %m%n
#配置Filter 
#定义id为F1的拦截器,只接受INFO到ERROR
log4j.appender.A7.filter.F1=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.A7.filter.F1.LevelMin=INFO
log4j.appender.A7.filter.F1.LevelMax=ERROR
#定义id为F2的拦截器,不接受WARN
log4j.appender.A7.filter.F2=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.A7.filter.F2.levelToMatch=WARN
log4j.appender.A7.filter.F2.acceptOnMatch=false


这么使用:
private static final Logger log = LoggerFactory.getLogger("BUSINESS");
log.debug(.....);
1
1
分享到:
评论
2 楼 tjmljw 2012-08-06  
可以啊,一直在用呢。
1 楼 alosin 2012-08-05  
没用,好像只有XML才可以用过滤器的

相关推荐

    Log4J_全能配置文件.pdf

    - `log4j.appender.FILE=org.apache.log4j.FileAppender`:指定了名为`FILE`的appender用于文件输出。 - `log4j.appender.FILE.File=file.log`:指定日志文件名称为`file.log`。 - `log4j.appender.FILE.Append=...

    tomcat下用Log4j 按文件大小,生成catalina.out日志文件

    在这个配置中,`MaxFileSize`参数指定了单个日志文件的最大大小(5MB),一旦达到这个大小,Log4j会滚动日志并创建新的文件。`MaxBackupIndex`参数指定了最多保留的旧日志文件数量,这里设置为10,意味着系统会保留...

    log4j中的dtd文件

    2. **文件输出**:使用`FileAppender`或`RollingFileAppender`,可以将日志信息写入到指定的文件中,`RollingFileAppender`还有自动滚动文件的功能,避免单个日志文件过大。 3. **GUI组件**:对于桌面应用,日志...

    AndroidStudio 使用log4j记录日志,按照大小定期滚动日志Demo

    本文将详细介绍如何在Android Studio中使用log4j库来记录日志,并实现按照日志文件大小自动滚动的功能,以及如何进行日志内容的格式化输出。 首先,log4j是一款广泛使用的日志记录框架,它提供了灵活的日志配置和...

    log4j日志文件

    - **FileAppender**:输出到指定文件,便于长期存储和分析。 - **DailyRollingFileAppender**:每日创建新的日志文件,保持日志文件的大小。 - **RollingFileAppender**:当文件达到一定大小时,自动创建新文件,...

    log4j.zip 项目日志

    四、Log4j的使用 在Java代码中,我们可以使用以下方式创建和使用Logger: ```java import org.apache.log4j.Logger; public class MyClass { private static final Logger logger = Logger.getLogger(MyClass....

    Log4j按级别输出日志到不同文件的实现方法

    以下是一个基于文本配置(`log4j.properties`)的示例,展示了如何设置不同的日志级别输出到各自的文件: ```properties # 设置root logger级别为info,并将其输出到stdout和多个文件appender log4j.rootLogger=...

    log4j2配置文件,按照文件大小划分日志,保存日期天数内的日志等

    log4j2配置文件,按照文件大小划分日志,保存日期天数内的日志,指纹日志命名规则,日志输出等级等功能

    WAS上log4j日志不能输出(ibatis)sql语句解决办法[借鉴].pdf

    WAS 上 log4j 日志不能...解决 WAS 上 log4j 日志不能输出(ibatis)sql 语句的问题需要改变 WAS 的默认 LogFactory 实现类,使其使用 log4j 框架下的 LogFactory 实现类,并且需要正确配置 log4j.properties 文件。

    Log4j配置文件详细说明

    - `log4j.rootLogger`:这是配置文件中的核心属性,定义了默认的日志级别和输出目的地。例如,`log4j.rootLogger=INFO, Console`表示设置日志级别为INFO,并将日志输出到控制台。 2. **Appenders(输出目的地)**...

    Web项目中使用Log4j实例

    首先,Log4j主要由三部分组成:配置文件(log4j.properties或log4j.xml)、日志记录器(Logger)和日志输出格式(Appender)。配置文件定义了日志的级别、输出目的地和格式。日志记录器是用于生成日志的对象,而...

    log4j与web.xml的配置

    - 在web.xml中,我们可以使用`&lt;context-param&gt;`标签来指定Log4j配置文件的位置,例如: ```xml &lt;param-name&gt;log4jConfigLocation &lt;param-value&gt;/WEB-INF/classes/log4j.properties ``` - 接着,使用`...

    log4j的配置文件介绍

    - **FileAppender**:将日志信息输出到指定文件中。这是最常见的日志输出方式,便于长期保存日志数据。 - **DailyRollingFileAppender**:按日期滚动的日志文件Appender。适合日志量较大时使用,能够自动创建新的...

    log4j使用简介.txt

    2. **FileAppender**:文件输出 Appender,用于将日志信息输出到指定的文件中。这种方式适用于生产环境下的日志记录。 3. **DailyRollingAppender**:每日滚动文件输出 Appender,当文件大小达到一定阈值时自动创建...

    log4j参考手册

    Log4j的核心功能在于它允许程序员定义多个日志记录器(Logger),每个记录器可以有自己的输出目的地和日志级别。日志级别通常包括DEBUG、INFO、WARN、ERROR和FATAL,它们按照严重程度排序,开发者可以根据需要设置每...

    log4j删除前N天日志

    Log4j是一个广泛使用的开源日志记录框架,提供灵活的日志配置和强大的日志输出功能。本话题将深入探讨如何使用Log4j中的DailyRollingFileAppender配置来自动删除前N天的日志,以便保持日志文件的大小和数量在可控...

    log4j-1.2.15-apidocs.rar

    Log4j是一款开源的日志记录框架,最初由Apache软件基金会开发,其设计目标是提供一个灵活且可扩展的日志系统,使开发者能够方便地控制日志信息的输出级别,以及输出格式和目的地。Log4j 1.2.15是1.x系列的一个稳定...

    log4j使用实例.zip

    通过这个"log4j使用实例.zip"压缩包,你可以学习到如何配置和使用Log4j进行日志记录,从而更好地理解和掌握Java后端开发中的日志管理。实践操作并理解每个组件的作用,将有助于你解决实际项目中遇到的问题。

    Log4j 相对路径配置

    7. `log4j.appender.ServerDailyRollingFile.layout.ConversionPattern` 和 `log4j.appender.stdout.layout.ConversionPattern` 分别设置了文件和控制台日志的输出格式,包括时间戳、日志级别、类名和消息等内容。...

    log4j记录Debug日志

    3. **Appenders**:Appender是Log4j中的输出组件,负责将日志信息发送到指定的位置。常见的Appender有ConsoleAppender(控制台输出)、FileAppender(文件输出)、SMTPAppender(电子邮件通知)和DBAppender(数据库...

Global site tag (gtag.js) - Google Analytics