Log4J2 Properties 文件中配置 minSize=0 的完整指南
技术百科
聖光之護
发布时间:2025-12-30
浏览: 次 在 log4j2 的 properties 配置文件中,需通过层级化键名(如 `appender.rolling.triggerpolicy.minsize=0`)设置 `minsize=0`,以启用启动时立即触发归档的策略,本文详解正确写法、上下文依赖及常见错误。
Log4J2 支持多种配置格式(XML、JSON、YAML、Properties),其中 Properties 格式采用扁平化的 key=value 结构,但需严格遵循命名约定才能映射到对应组件。minSize=0 通常用于 OnStartupTriggeringPolicy,该策略配合 RollingFileAppender 实现应用启动时立即触发首次归档(例如将当前日志重命名为带时间戳的归档文件)。
✅ 正确配置示例(完整上下文):
# 定义 RollingFileAppender
appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = logs/app.log
appender.rolling.filePattern = logs/app-%d{yyyy-MM-dd}-%i.log.gz
# 配置 RollingPolicy(如 TimeBasedTriggeringPolicy + SizeBasedTriggeringPolicy)
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n
# 关键:启用 OnStartupTriggeringPolicy 并设置 minSize=0
appender.rolling.triggerPolicy.type = OnStartupTriggeringPolicy
appender.rolling.triggerPolicy.minSize = 0
# RollingStrategy(必须配套指定)
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 30⚠️ 注意事项:
- minSize=0 仅对 OnStartupTriggeringPolicy 有效,且其含义是“无论当前日志文件大小是否为 0,均
在 JVM 启动时触发归档”——这是实现“冷启动即归档”的核心配置。 - 键名前缀 appender.rolling.triggerPolicy. 必须与你定义的 appender 名称和嵌套结构完全一致;若 appender 名为 MyRoller,则应写作 appender.MyRoller.triggerPolicy.minSize=0。
- minSize 是 long 类型,不可加引号(如 minSize="0" 或 minSize='0' 会导致解析失败或静默忽略)。
- OnStartupTriggeringPolicy 自 Log4J2 v2.11 起可用,确保使用 ≥2.11 的版本(推荐 ≥2.20.0 以获得安全更新)。
- 该策略通常与 DefaultRolloverStrategy 搭配使用,单独配置 minSize=0 而未启用 OnStartupTriggeringPolicy 将无效。
? 小结:Properties 文件中没有嵌套语法,一切依赖精确的点分层级键名。minSize=0 不是一个独立配置项,而是 OnStartupTriggeringPolicy 组件的属性,因此必须与其类型声明(triggerPolicy.type = OnStartupTriggeringPolicy)成对出现,缺一不可。调试时建议启用 Log4J2 内部日志(-Dlog4j2.debug=true)验证策略是否被正确加载。
# 这是
# 首次
# 启动时
# 与你
# 命名为
# app
# 配置文件
# js
# json
# xml
# 则应
# 常与
# yy
# 仅对
# 键名
# jvm
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- PHP 中如何在函数内持久修改引用变量所指向的目标
- Python集合操作技巧_高效去重解析【教程】
- Win11文件扩展名怎么显示 Win11查看文件后
- php485返回空数组怎么回事_php485数据接
- c# 如何用c#实现一个支持优先级的任务队列
- windows如何禁用驱动程序强制签名_windo
- 如何在Golang中实现服务熔断与限流_Golan
- c# F# 的 MailboxProcessor
- PowerShell怎么创建复杂的XML结构
- How to Properly Use NumPy
- 如何在 IIS 上为 ASP.NET 6 应用排除
- 如何在Windows中创建新的用户账户?(标准与管
- Win11怎么设置开机问候语_自定义Win11锁屏
- Win10电脑怎么设置休眠快捷键_Windows1
- Win11怎么设置开机密码_Windows11账户
- c++怎么编写动态链接库dll_c++ __dec
- windows系统找不到无线网络怎么办_windo
- LINUX怎么设置系统语言_LINUX修改中文环境
- windows如何修改文件默认打开方式_windo
- Win11怎么设置鼠标宏_Win11鼠标按键自定义
- Win11怎么关闭OneDrive同步_Win11
- Win11怎么关闭系统推荐内容_Windows11
- Win11应用商店下载慢怎么办 Win11更改DN
- Python 中将 ISO 8601 时间戳转换为
- Linux怎么查找死循环进程_Linux系统负载分
- Win11怎样彻底卸载自带应用_Win11彻底卸载
- 如何在Golang中处理数据库事务错误_回滚和日志
- php8.4新语法match怎么用_php8.4m
- 如何在网页无标准表格标签时高效提取结构化数据
- Windows执行文件被SmartScreen拦截
- Win10怎样卸载TeamViewer_Win10
- Python变量绑定机制_引用模型解析【教程】
- 用Python构建微服务架构实践_FastAPI与
- 如何用::实现工具类方法调用_php静态工具类设计
- 如何使用Golang实现跨域请求支持_Golang
- Windows怎样关闭开始菜单广告_Windows
- Win11怎么关闭粘滞键_彻底禁用Windows
- Windows7如何安装系统镜像_Windows7
- MAC怎么截图并快速编辑_MAC自带截图快捷键与标
- Win11怎么开启远程桌面连接_Windows11
- Win11怎么设置开机自动连接宽带_Windows
- mac怎么安装adb_MAC配置Android A
- Win11任务栏怎么固定应用 Win11将软件图标
- 如何使用Golang指针与接口结合_实现方法调用和
- Win10怎样安装Excel数据分析工具_Win1
- Windows10系统更新错误0x80070002
- Python多进程教程_multiprocessi
- 如何优化Golang Web性能_Golang H
- Win11怎么修复系统文件_使用sfc命令修复Wi
- Python数据挖掘进阶教程_分类回归与聚类案例解

在 JVM 启动时触发归档”——这是实现“冷启动即归档”的核心配置。
QQ客服