2013-10-09 34 views
0

我正在從log4j切換到log4j2,並且除了以下情況外,一切都能順利轉換。在我的代碼中,我有一個將文本輸出到文件的測試引擎。我正在使用log4j2來處理日誌記錄。我想爲每個測試創建一個單獨的日誌文件,文件的名稱是測試名稱。log4j2 - 在執行期間更改輸出文件

例如,test1會輸出到test1.log,test2會輸出到test2.log。這log4j的是可能通過使用此代碼...

private Category testOutput = Category.getInstance("ModelTestOutput"); 
FileAppender outFile = new FileAppender(new PatternLayout("%m%n"), fileName, false); 
testOutput.addAppender(outFile); 

不過,我似乎無法找到新的log4j2模式來匹配這一點。

我有它目前建立這樣的...

protected Logger testOutput = LogManager.getLogger(); 
//unknown function to tailor the output file name 
//something similar to above, like testOutput.addAppender() 

,並在log4j2.xml文件

<property name="test-file">test.log</property> 
    <appender type="File" name="TestLog" fileName="${test-path}${test-file}"> 
     <layout type="PatternLayout" pattern="%m%n"></layout> 
    </appender> 
    <logger name="tester.fvt" level="DEBUG" additivity="false"> 
     <appender-ref ref="TestLog" /> 
    </logger> 

回答