Log4j Properties 配置项详细说明

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 可精确控制特定模块的日志输出

关键说明
  1. 日志级别优先级 :OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL
    • 高级别(如INFO)会过滤掉低级别(如DEBUG)的日志
  2. Appender类型 :
    • ConsoleAppender:输出到控制台
    • FileAppender:输出到文件(不滚动)
    • RollingFileAppender:支持文件滚动(按大小或时间)
  3. PatternLayout 格式符 :
    • %d:日期
    • %p:日志级别
    • %c:日志记录器名称
    • %L:行号
    • %m:日志消息
    • %n:换行符

注意:Log4j 2.x 配置语法不同,建议参考官方文档确认版本差异。

相关推荐
麻瓜code16 小时前
秒杀优化三连:Lua + 阻塞队列 + Redis Stream,响应从 3.4 秒到毫秒级
redis·junit·lua
吧啦蹦吧20 小时前
org.springframework.context.ApplicationListener
log4j
梦想不只是梦与想1 天前
鸿蒙 AI自动化测试实现
单元测试·harmonyos·hypium
光影6271 天前
Unittest单元测试基础速记
测试工具·单元测试·json·测试覆盖率
龙智DevSecOps解决方案3 天前
TESSY基于需求的单元测试教程:需求关联、覆盖率与可疑测试处理
单元测试·视频教程·tessy
努力努力再努力wz3 天前
【Lua 入门系列】从顺序执行到分支与循环:一文理解 Lua 控制结构、作用域与跳转规则
junit·单元测试·lua
七夜zippoe3 天前
Agent 网关设计:统一入口、智能路由与负载均衡
运维·ai·log4j·负载均衡·agent·网关设计
xiaoye-duck4 天前
《C++ 工具库实战》GTest 单元测试:断言、全局环境、局部夹具与底层原理
c++·单元测试·第三方库
努力努力再努力wz4 天前
【Lua入门系列】从动态类型到变量作用域:彻底理解 local、全局变量与跨文件访问
开发语言·junit·lua
小凯在掘金4 天前
测试规范:为什么优先用 data-testid,而不是 CSS 选择器?
单元测试·测试