Log4j appender输出类型配置
程序员文章站
2022-04-26 08:45:52
...
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信息
推荐阅读
-
Mybatis细节处理之mapper.xml的存放,properties配置文件,类型别名以及创建log4j配置文件
-
MyBatis配置log4j输出日志
-
MyBatis配置log4j输出日志
-
Log4j配置文件XML方式和按包路径分开输出日志
-
log4j配置日志文件log4j.appender.R.File相对路径方法
-
log4j配置日志文件log4j.appender.R.File相对路径方法
-
Log4j appender输出类型配置
-
Spring boot配置log4j输出日志
-
使用Log4j为项目配置日志输出应用详解以及示例演示的实现分析
-
使用Log4j为项目配置日志输出应用详解以及示例演示的实现分析