`

Log4j appender输出类型配置

阅读更多
1. Log4j appender输出类型配置

Log4j官方的appender给出了一下几种实现
org.apache.log4j.ConsoleAppender(控制台,常用);
org.apache.log4j.FileAppender(文件);
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件,常用与日志数量不大);
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件,常用日志数量很大);
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方);

MaxFileSize是日志文件的最大尺寸;
MaxBackupIndex是日志文件的个数,假如超过了,则覆盖,主要考虑到的是硬盘的容量问题;


log4j.rootLogger=DEBUG, Console ,File ,DailyRollingFile ,RollingFile
    
#Console  
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.layout=org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
    
#File
log4j.appender.File = org.apache.log4j.FileAppender
log4j.appender.File.File = E://log4j-File-log.log
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
 
#DailyRollingFile
log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.DailyRollingFile.File = E://log4j-DailyRollingFile-log.log
log4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.DailyRollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
 
#RollingFile
log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender
log4j.appender.RollingFile.File = E://log4j-RollingFile-log.log
log4j.appender.RollingFile.MaxFileSize=1KB
log4j.appender.RollingFile.MaxBackupIndex=3
log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n


package com.open1111;
import org.apache.log4j.Logger;
public class Test {
    private static Logger logger = Logger.getLogger(Test.class);
    public static void main(String[] args) {
        logger.info("普通Info信息");
        logger.debug("调试debug信息");
        logger.error("报错error信息");
        logger.warn("警告warn信息");
        logger.fatal("严重错误fatal信息");
        logger.error("报错信息", new IllegalArgumentException("非法参数"));
        int i = 0;
        while (i < 10000) {
            logger.debug(" RollingFile 调试debug信息");
            logger.debug(" RollingFile 调试debug信息");
            logger.debug(" RollingFile 调试debug信息");
            logger.debug(" RollingFile 调试debug信息");
            logger.debug(" RollingFile 调试debug信息");
            i++;
        }
    }
}


运行结果:

1. 控制台console

2018-12-11 21:30:51,899 [main] INFO  [com.open1111.Test] - 普通Info信息
2018-12-11 21:30:51,900 [main] DEBUG [com.open1111.Test] - 调试debug信息
2018-12-11 21:30:51,900 [main] ERROR [com.open1111.Test] - 报错error信息
2018-12-11 21:30:51,901 [main] WARN  [com.open1111.Test] - 警告warn信息
2018-12-11 21:30:51,901 [main] FATAL [com.open1111.Test] - 严重错误fatal信息
2018-12-11 21:30:51,902 [main] ERROR [com.open1111.Test] - 报错信息
java.lang.IllegalArgumentException: 非法参数
    at com.open1111.Test.main(Test.java:14)
2018-12-11 21:30:51,904 [main] DEBUG [com.open1111.Test] -  RollingFile 调试debug信息
...

2. file文件 E://log4j-File-log.log

2018-12-11 21:30:51,899 [main] INFO  [com.open1111.Test] - 普通Info信息
2018-12-11 21:30:51,900 [main] DEBUG [com.open1111.Test] - 调试debug信息
2018-12-11 21:30:51,900 [main] ERROR [com.open1111.Test] - 报错error信息
2018-12-11 21:30:51,901 [main] WARN  [com.open1111.Test] - 警告warn信息
2018-12-11 21:30:51,901 [main] FATAL [com.open1111.Test] - 严重错误fatal信息
2018-12-11 21:30:51,902 [main] ERROR [com.open1111.Test] - 报错信息
java.lang.IllegalArgumentException: 非法参数
    at com.open1111.Test.main(Test.java:14)
2018-12-11 21:30:51,904 [main] DEBUG [com.open1111.Test] -  RollingFile 调试debug信息
...

3. DailyRollingFile每日文件 E://log4j-DailyRollingFile-log.log

2018-12-11 21:30:51,899 [main] INFO  [com.open1111.Test] - 普通Info信息
2018-12-11 21:30:51,900 [main] DEBUG [com.open1111.Test] - 调试debug信息
2018-12-11 21:30:51,900 [main] ERROR [com.open1111.Test] - 报错error信息
2018-12-11 21:30:51,901 [main] WARN  [com.open1111.Test] - 警告warn信息
2018-12-11 21:30:51,901 [main] FATAL [com.open1111.Test] - 严重错误fatal信息
2018-12-11 21:30:51,902 [main] ERROR [com.open1111.Test] - 报错信息
java.lang.IllegalArgumentException: 非法参数
    at com.open1111.Test.main(Test.java:14)
2018-12-11 21:30:51,904 [main] DEBUG [com.open1111.Test] -  RollingFile 调试debug信息
...

4. 4.RollingFile大小文件 E://log4j-RollingFile-log.log
log4j-RollingFile-log.log
log4j-RollingFile-log.log.1
log4j-RollingFile-log.log.2
log4j-RollingFile-log.log.3
每一个都相同,只有最后的几条,最初的已经被覆盖了。

2018-12-11 21:31:07,801 [main] DEBUG [com.open1111.Test] -  RollingFile 调试debug信息
2018-12-11 21:31:07,801 [main] DEBUG [com.open1111.Test] -  RollingFile 调试debug信息
2018-12-11 21:31:07,801 [main] DEBUG [com.open1111.Test] -  RollingFile 调试debug信息
2018-12-11 21:31:07,801 [main] DEBUG [com.open1111.Test] -  RollingFile 调试debug信息
2018-12-11 21:31:07,801 [main] DEBUG [com.open1111.Test] -  RollingFile 调试debug信息
2018-12-11 21:31:07,801 [main] DEBUG [com.open1111.Test] -  RollingFile 调试debug信息
2018-12-11 21:31:07,802 [main] DEBUG [com.open1111.Test] -  RollingFile 调试debug信息
2018-12-11 21:31:07,802 [main] DEBUG [com.open1111.Test] -  RollingFile 调试debug信息
分享到:
评论

相关推荐

    Log4J_全能配置文件.pdf

    - `log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender`:指定了名为`CONSOLE`的appender是控制台输出。 - `log4j.appender.CONSOLE.Target=System.out`:日志输出到标准输出流(System.out)。 - `log4j....

    log4j.properties配置文件

    通过上述配置,我们可以看到如何利用`log4j.properties`来配置不同类型的Appender,并设置日志级别。这不仅能够帮助开发者更好地管理应用程序的日志输出,还能提高程序的可维护性和调试效率。例如,在开发阶段,可以...

    Log4J完整说明和配置

    以上配置覆盖了Log4J常用的几种Appender类型及其配置参数,能够满足大多数应用场景的需求。开发者可以根据实际需求调整各个Appender的配置,以实现更加精细化的日志管理。此外,Log4J还提供了丰富的扩展机制,如MDC...

    (转)如何自建appender扩展Log4j框架

    5. **注册Appender**:在Log4j的配置文件(如log4j.properties或log4j.xml)中,声明你的自定义Appender,并配置相关属性。例如: ```xml &lt;appender name="MyCustomAppender" class=...

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

    - `log4j.appender.FILE`定义了一个名为FILE的Appender,类型为`org.apache.log4j.FileAppender`或`DailyRollingFileAppender`。前者会一直追加日志到同一文件,后者则会在每天创建新的日志文件。 - `log4j....

    log4j.properties配置详解

    Log4j通过配置Appender的`Threshold`属性,可以轻松实现这一需求。例如,如果我们希望只将错误级别的日志信息输出到特定文件中,可以在配置文件中这样设置: ```properties # 设置名为errorFile的Appender,只接收...

    log4j.properties的配置说明

    Log4j 提供了多种类型的 Appender,例如 ConsoleAppender、FileAppender、RollingFileAppender 等。 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 这个语句定义了一个名为 stdout 的 ConsoleAppender...

    log4j配置和加载方法

    Appender是log4j中负责实际日志输出的部分,可以是控制台、文件、数据库等多种类型。示例中用到了`ConsoleAppender`和`RollingFileAppender`。 1. **ConsoleAppender**: 控制台输出器,用于将日志输出到控制台。...

    log4j详解配置说明

    本文详细介绍了 Log4j 的配置方法,包括配置文件的基本结构、常用 Appender 和 Layout 的配置示例以及如何通过 Commons Logging 来使用 Log4j。通过这些内容的学习,相信您已经能够熟练地配置和使用 Log4j 来满足...

    java log4j配置大全

    ### Java Log4j 配置详解 #### 一、Log4j 概述 Log4j 是 Apache 的一个开源项目,被广泛应用于 Java 应用程序的日志记录中。通过 Log4j,开发者可以轻松控制日志信息的输出目的地、格式以及级别。这使得日志的管理...

    Log4j配置文件

    Log4j提供多种Appender类型,包括但不限于: - `ConsoleAppender`: 输出至控制台 - `FileAppender`: 输出至文件 - `DailyRollingFileAppender`: 按天分割文件 - `RollingFileAppender`: 当文件达到一定大小时,滚动...

    Log4j 相对路径配置

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

    log4j配置说明

    - `log4j.appender.stdout.layout`: 配置了日志输出的格式,这里使用了PatternLayout,可以自定义输出的格式。 - `log4j.appender.FILE`: 定义了一个名为FILE的Appender,它是DailyRollingFileAppender类型,意味着...

    log4j很实用配置

    以上介绍了 Log4j 配置中的几个关键点:根 Logger 的配置、不同类型的 Appender 以及各种 Layout 的设置方法。通过这些配置选项,可以根据具体的应用场景来定制日志记录行为,以便更好地监控和调试应用程序。

    log4j的详细配置

    Appender是日志输出的目的地,Log4J提供了多种类型的Appender: - `org.apache.log4j.ConsoleAppender`:输出到控制台。 - `org.apache.log4j.FileAppender`:输出到指定文件。 - `org.apache.log4j....

    Tomcat 8.0.30 log4j配置

    - `log4j.appender.FILE`:声明一个名为FILE的appender,类型为DailyRollingFileAppender。 - `log4j.appender.FILE.File`:设置日志文件的输出路径。 - `log4j.appender.FILE.layout`:设置日志布局模式,这里...

    Log4j配置实例

    Appender是Log4j的输出端,负责将日志信息输出到指定位置,如控制台、文件、网络、数据库等。上述配置文件中定义了两个Appender,一个是控制台输出(stdout),另一个是文件输出(file)。 **5. Layout** Layout...

    log4j_properties配置详解

    - **类型**: Log4j 提供了多种类型的 Appender,如控制台输出、文件输出等。 - **配置示例**: - 控制台输出: - `log4j.appender.stdout = org.apache.log4j.ConsoleAppender` - `log4j.appender.stdout.Target ...

    log4j详细配置

    ### Log4j详细配置 #### 一、Log4j简介 Log4j 是一款非常流行的 Java 日志框架,由 Apache 软件基金会所提供。它能够帮助开发者在应用程序中记录日志信息,使得应用程序能够在运行时更加透明地展示其内部状态。Log...

Global site tag (gtag.js) - Google Analytics