如果我多次并行运行相同的Java程序,他们显然最终使用相同的log4j配置。现在,我希望每个进程都使用单独的日志文件。我不太关心它们是如何区分的(包括进程ID或简单的计数器,随着现有文件的数量增加就足够了)。有可能这样做吗?
例如,我想按如下方式配置记录器:
<File name="File" fileName="/tmp/log-%i .log">
<!-- ... -->
</File>
其中%i
是下一个可用的整数。
答案 0 :(得分:1)
虽然我还没有尝试过,但我认为这应该是你想要的东西。使用RollingFile
代替File
,将触发政策设置为<OnStartupTriggeringPolicy/>
,并将filePattern
设置为包含%i(或日期和时间)的模式。当前正在运行的进程的日志文件将是fileName
,但每次进程启动时该文件将转移到filePattern
所描述的文件。