2014-04-18 15 views
0

我有一個操作線程,我想這樣的日誌記錄:SLF4J(下面的log4j) - 注入一個運行時參數到記錄器的創建?

id =綁定到一個「會話」在運行時已知(不是100%,但主要是一個會話是在一個特定的線程上的一切)

鍵=值依賴於特定的軟件包,可以大概只是讓每個包不同的格式化器模式/鍵

12:12:12,123 [INFO] [id] KEY > Something informative 
12:12:13,123 [INFO] [id] KEY > Something informative 
12:12:14,123 [ERROR] [id] KEY > OMG IT BROKE! 
12:12:15,123 [INFO] [id] KEY > Something informative 

我已經有SLF4J記錄,但我得到的經典風格:

19:18:41,491 INFO [com.package.package.Class] (ThreadName) Something Informative 
19:18:42,491 INFO [com.package.package.Class] (ThreadName) Something Informative 

我意識到我可以爲我在log4j/logback /任何properites/xml文件中的類創建不同的格式;然而,我不知道如何注入僅在運行時才知道的[id]值。

有沒有辦法與SLF4J「正常」做到這一點,或者我需要在運行時創建自己的Log4J Logger實例,並將我的代碼耦合到log4j(我已經非常努力地不去做)。

回答