2015-10-17 105 views
0

如果我並行運行多個相同的Java程序,它們顯然最終會使用相同的log4j配置。現在,我希望每個進程都使用一個單獨的日誌文件。我不關心他們是如何區分的(包括進程ID或簡單的計數器隨着已有文件的數量增加就足夠了)。是否有可能做到這一點?Log4j2:如果已經存在,則記錄到其他文件

舉例來說,我想配置記錄如下:

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

其中%i是下一個可用整數。

回答

1

下面是我認爲應該做的一種你想要的東西,雖然我沒有真正嘗試過。使用RollingFile代替File,將觸發策略設置爲<OnStartupTriggeringPolicy/>,並將filePattern設置爲包含%i(或日期和時間)的模式。當前正在運行的進程的日誌文件將爲fileName,但每次啓動該進程時該文件將被滾動到filePattern所述的文件。

相關問題