`

log4j日志分级别输出到不同文件

阅读更多

配置文件 
#log4j.rootLogger=info,stdoutdebug,error 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n 

log4j.logger.info=info 
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.info.layout=org.apache.log4j.PatternLayout 
log4j.appender.info.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n 
log4j.appender.info.datePattern='.'yyyy-MM-dd 
log4j.appender.info.Threshold = INFO 
log4j.appender.info.append=true 
log4j.appender.info.File=${catalina.home}/logs/log4j/info.log 

log4j.logger.debug=debug 
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.debug.layout=org.apache.log4j.PatternLayout 
log4j.appender.debug.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n 
log4j.appender.debug.datePattern='.'yyyy-MM-dd 
log4j.appender.debug.Threshold = DEBUG 
log4j.appender.debug.append=true 
log4j.appender.debug.File=${catalina.home}/logs/log4j/debug.log 

log4j.logger.warn=warn 
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.warn.layout=org.apache.log4j.PatternLayout 
log4j.appender.warn.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n 
log4j.appender.warn.datePattern='.'yyyy-MM-dd 
log4j.appender.warn.Threshold = DEBUG 
log4j.appender.warn.append=true 
log4j.appender.warn.File=${catalina.home}/logs/log4j/warn.log 

log4j.logger.error=error 
log4j.appender.error=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.error.layout=org.apache.log4j.PatternLayout 
log4j.appender.error.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n 
log4j.appender.error.datePattern='.'yyyy-MM-dd 
log4j.appender.error.Threshold = ERROR 
log4j.appender.error.append=true 
log4j.appender.error.File=$${catalina.home}/logs/log4j/error.log 

ConversionPattern设置输出格式的参数说明: 
%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL, 
%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2011年08月30日 15:00:00,921 
%r: 输出自应用启动到输出该log信息耗费的毫秒数 
%c: 输出日志信息所属的类目,通常就是所在类的全名 
%t: 输出产生该日志事件的线程名 
%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10) 
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。 
%%: 输出一个”%”字符 
%F: 输出日志消息产生时所在的文件名称 
%L: 输出代码中的行号 
%m: 输出代码中指定的消息,产生的日志具体信息 
%n: 输出一个回车换行符,Windows平台为”\r\n”,Unix平台为”\n”输出日志信息换行 
可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如: 
1)%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。 
2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,”-”号指定左对齐。 
3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。 
4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边交远销出的字符截掉。 


程序中使用: 
在程序中使用Log4j之前,首先要将commons-logging.jar和logging-log4j-1.2.9.jar导入到classpath中,并将log4j.properties放于src根目录中。 
在这里推荐使用commons-logging结合log4j进行日志记录 <!--EndFragment-->

分享到:
评论

相关推荐

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

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

    动态设置log4j的日志级别

    要实现动态设置Log4j日志级别,通常有以下几种方法: 1. **通过配置文件**:最常见的方式是通过修改log4j.properties或log4j.xml配置文件。例如,你可以将某个类或整个包的日志级别设置为WARN: ```xml ```...

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

    以下是一个基本的 `log4j.properties` 示例,用于设置日志级别、输出目的地及格式: ``` log4j.rootLogger=DEBUG, Console, FileAppender # 控制台输出 log4j.appender.Console=org.apache.log4j....

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

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

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

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

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

    `Log4j`是一个广泛使用的Java日志框架,它允许开发者控制应用程序的输出日志,包括日志级别、格式和目的地。这篇博客"Log4j 把不同包的日志打印到不同位置"可能详细解释了如何利用Log4j配置来实现特定包的日志定向...

    log4j自定义日志文件名及日志输出格式

    例如,`%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n`会输出时间戳、日志级别、logger名称、行号和日志消息。如果你的需求更复杂,可以继承`PatternLayout`或`TTCCLayout`等类,然后重写`format()`方法,以满足...

    log4j多文件输出打印

    在"Log4j多文件输出打印"的场景下,我们通常会配置多个Appender,每个Appender对应一个不同的输出文件。这样,不同的日志信息可以被分别写入不同的文件,便于管理和分析。例如,在`log4j.properties`配置文件中,...

    log4j按功能保存日志

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

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

    接下来,`log4j配置说明.txt`文件通常会提供更详细的解释和示例,包括如何配置不同的appender(如FileAppender、RollingFileAppender等),如何定义不同logger的级别,以及如何使用自定义的error handler和filter。...

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

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

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

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

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

    这个文件定义了Log4j的行为,包括设置日志级别(如DEBUG, INFO, WARN, ERROR, FATAL),定义Appender,以及指定Appender的输出目标。例如: ```properties # log4j.properties 示例 log4j.rootLogger=DEBUG, FILE ...

    Log4j将System.out搞到log4j中输出四

    在《Log4j将System.out搞到log4j中输出四》这篇博文中,作者可能详细讨论了这些步骤,并可能分享了一些实战经验。通过学习这篇博文,读者可以更深入地了解如何在实际项目中实现这一转换,提升日志管理的效率。 总结...

    log4j的日志级别的调整

    Log4j提供了多个预定义的日志级别,按照严重性从低到高排序,包括TRACE、DEBUG、INFO、WARN、ERROR和FATAL。不同的级别对应着不同严重程度的信息,例如,DEBUG用于调试,INFO用于常规信息,WARN用于警告,ERROR和...

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

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

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

    在本文中,我们将深入探讨如何配置log4j,以便将日志信息输出到项目中的特定文件夹。 首先,我们需要创建一个`log4j.properties`或`log4j.xml`配置文件,这个文件通常放在项目的`src/main/resources`目录下。在这个...

    log4j的eclipse工程,输出到文件的方式配置log4j

    标题"log4j的eclipse工程,输出到文件的方式配置log4j"表明我们关注的是在Eclipse开发环境中如何利用log4j框架将日志信息输出到文件。Log4j是Apache的一个开源项目,它提供了一个灵活的日志系统,允许开发者在运行时...

    log4j配置 输出日志 案例

    `log4j配置输出日志案例.doc`文档中应该包含了更详细的配置和实际运行案例,包括如何调整日志级别、设置过滤器、自定义日志格式等。这些案例可以帮助读者更好地理解和应用log4j,解决实际开发中的日志管理问题。 ##...

Global site tag (gtag.js) - Google Analytics