如何在Log4J2中使用{}注解为大数添加千位分隔符?
在Log4J2中直接为大数添加千位分隔符(无需额外格式化工具)
完全可以不用DecimalFormat这类工具,直接通过Log4J2内置的占位符格式化语法实现需求。
只需修改日志语句中的占位符,添加数字格式说明即可:
log.info("Reading {0,number} entries (multiplied with one million)", entries * 1_000_000);
执行后输出会自动按本地区域设置添加千位分隔符,得到期望结果:
Reading 80,000,000 entries (multiplied with one million)
如果需要更精确控制格式(比如强制使用千位分隔符、忽略区域设置),可以指定具体的格式模式:
log.info("Reading {0,number,#,###} entries (multiplied with one million)", entries * 1_000_000);
这种方式的原理是Log4J2支持在占位符中嵌入格式修饰符,底层会自动处理数字的格式化,无需手动创建格式化工具实例。
内容的提问来源于stack exchange,提问作者Adler auf Höhenflug
相关产品推荐
相关产品推荐

