在 log4j (zip) 文件名中添加尾随 0

Adding trailing 0 in log4j (zip) file name

我正在使用 log4j 记录数据。我使用类似的表达式指定 zip 文件 <dir_name>/$${date:yyyy-MM}/<app_name>-%d{yyyy-MM-dd}-%i.log.gz 这主要按需要工作,除了我得到一个文件名 <app_name>-2022-01-20-1.log.gz, 虽然我想要在 1 之前有一个前导零。我相当确定日志文件的数量将是 2 位数字,并且有一个前导零有助于在跨多个文件时让事情井井有条,并改进其他 sysadmin/debugging同理

我试过使用 <dir_name>/$${date:yyyy-MM}/<app_name>-%d{yyyy-MM-dd}-%ii.log.gz,但是没有用,不是我真正期望的那样。

我找不到任何关于 %i 的变体(如果有的话)导致文件名前导 0 的文档。

任何帮助或提示,或指向包含此内容的 log4j 文档的链接,我们将不胜感激。

如此处 Log4J 文档中所述:https://logging.apache.org/log4j/2.x/manual/appenders.html 用于 filePattern 字段。

DefaultRolloverStrategy 将接受与 SimpleDateFormat and/or 兼容的 date/time 模式和表示整数计数器的 %i 模式。整数计数器允许指定一个填充,例如 %3i 用于 space-padding 3 位计数器或(通常更有用)%03i 用于 zero-padding 3 位计数器。

因此,为了让您 zero-pad 您的文件计数器有两位数,您可以使用 %02i.