Log4j Properties 配置项详细说明

1. 核心配置项说明
- 根日志记录器 :定义全局日志级别和输出目标
log4j.rootLogger = [级别], appender1, appender2,...
- Appender 定义 :指定日志输出目标(控制台、文件等)
log4j.appender.[名称].[属性] = 值
- 布局配置 :定义日志输出格式
log4j.appender.[名称].layout = 布局类
2. 完整配置示例(Log4j 1.x)
properties
# 根日志配置:DEBUG级别,输出到控制台(console)和文件(file)
log4j.rootLogger=DEBUG, console, file
# 控制台Appender配置
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out # 输出到标准输出
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c:%L - %m%n
# 文件Appender配置
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/app.log # 日志文件路径
log4j.appender.file.MaxFileSize=10MB # 滚动文件最大尺寸
log4j.appender.file.MaxBackupIndex=10 # 最大备份文件数
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
# 指定特定包的日志级别(覆盖根配置)
log4j.logger.com.example=INFO
3. 配置项表格总结
配置项 | 描述 | 示例 | 说明 |
---|---|---|---|
log4j.rootLogger |
定义根日志级别和Appender列表 | log4j.rootLogger=DEBUG, console, file |
必须配置,支持OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL |
log4j.appender.name |
指定Appender类型 | log4j.appender.console=org.apache.log4j.ConsoleAppender |
常用类型:ConsoleAppender, FileAppender, RollingFileAppender |
log4j.appender.name.Target |
控制台Appender的输出目标(System.out 或System.err ) |
log4j.appender.console.Target=System.out |
默认为System.out |
log4j.appender.name.File |
文件Appender的输出路径 | log4j.appender.file.File=logs/app.log |
相对路径基于应用工作目录 |
log4j.appender.name.layout |
指定日志格式布局类 | log4j.appender.file.layout=org.apache.log4j.PatternLayout |
常用布局:PatternLayout, HTMLLayout |
log4j.appender.name.layout.ConversionPattern |
定义日志格式字符串(PatternLayout专用) | %d{yyyy-MM-dd HH:mm:ss} %-5p %c:%L - %m%n |
%d 日期,%p 级别,%m 消息等 |
log4j.appender.RollingFile.MaxFileSize |
滚动文件的最大文件大小 | log4j.appender.file.MaxFileSize=10MB |
超过此值触发滚动 |
log4j.logger.package |
指定包的日志级别(覆盖根配置) | log4j.logger.com.example=INFO |
可精确控制特定模块的日志输出 |
关键说明
- 日志级别优先级 :
OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL
- 高级别(如
INFO
)会过滤掉低级别(如DEBUG
)的日志
- 高级别(如
- Appender类型 :
ConsoleAppender
:输出到控制台FileAppender
:输出到文件(不滚动)RollingFileAppender
:支持文件滚动(按大小或时间)
- PatternLayout 格式符 :
%d
:日期%p
:日志级别%c
:日志记录器名称%L
:行号%m
:日志消息%n
:换行符
注意:Log4j 2.x 配置语法不同,建议参考官方文档确认版本差异。