2011-05-19 72 views

回答

3

我曾使用過log4j。它的簡單和漂亮的方法。

2

我不知道樓主的問題得到回答,所以我會盡力重申這一點。在Spring Batch中,可能會有多個線程正在進行,並且您可能需要進行特定於作業的日誌記錄,以便將特定作業的所有事件都記錄到一個日誌文件中。你想要一個記錄器,其範圍直接與你正在處理的工作相關聯。作業完成後,記錄器(以及對記錄器的所有引用)都會消失。

所以當你提交招聘#1,所有事件都記錄到「job_1.log」;當您提交招聘#2,其事件記錄「job_2.log」

在log4j的,當你做「Logger.getLogger( 'mylogger')」您告訴LogManager將'mylogger'從緩存中取出並提供給您。您真正需要的是記錄器的新實例,使用mylogger的配置進行配置。在Spring中,這通常可以通過原型bean來完成。每次詢問'mylogger'的上下文時,您都會得到一個新實例。

+1

請注意,log4j還具有稱爲嵌套診斷上下文的功能,可在每個線程的基礎上完成相同的操作:http://logging.apache.org/log4j/1.2/manual.html#Nested_Diagnostic_Contexts – bcoughlan 2014-12-15 11:03:58

相關問題