Log4j2:如果已存在,则记录到其他文件

时间:2015-10-17 17:04:26

标签: java logging log4j2

如果我多次并行运行相同的Java程序,他们显然最终使用相同的log4j配置。现在,我希望每个进程都使用单独的日志文件。我不太关心它们是如何区分的(包括进程ID或简单的计数器,随着现有文件的数量增加就足够了)。有可能这样做吗?

例如,我想按如下方式配置记录器:

<File name="File" fileName="/tmp/log-%i .log">
    <!-- ... -->
</File>

其中%i是下一个可用的整数。

1 个答案:

答案 0 :(得分:1)

虽然我还没有尝试过,但我认为这应该是你想要的东西。使用RollingFile代替File,将触发政策设置为<OnStartupTriggeringPolicy/>,并将filePattern设置为包含%i(或日期和时间)的模式。当前正在运行的进程的日志文件将是fileName,但每次进程启动时该文件将转移到filePattern所描述的文件。