我希望log4j在打印日誌時吐出自定義模式。下面是這種情況:如何自定義log4j輸出
當前log4j的配置在log4j.properties:
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} - %p <%t> - %m%n
和日誌聲明看起來是這樣的..
08:48:03,092 - INFO <main> - some message
不過,我想添加自定義模式(或無論那個讓我定製這個)包括說,loginId,帳戶爲每個日誌語句打印。
所需的輸出:
08:48:03,092 - INFO <main> <abcuser:12345> - some message
我使用SLF4J與log4j的綁定。
我該如何做到這一點?請幫忙。
我也試過MDC的方式..它的工作。這個選項似乎更簡單!謝謝。但是,我很想知道 - MDC是多麼昂貴/昂貴?我的意思是..一般來說,設置自定義日誌屬性是不是一件壞事?另外,是否必須調用MDC.clear()? –
@AravindDatta我已經擴展我的答案來解決您的問題。 –