最近在使用log4net的時候有一個簡單的需求,就是自定義個格式化輸出符。這個輸出符是專門用來幫我記錄下業(yè)務(wù)ID、業(yè)務(wù)類型的。比如,“businessID:328593,businessType: orderID”。類似這樣的輸出日志。這些日志會被elk agent提取送到日志中心ES中,用來進行輔助排障。
簡單的看了下log4net的PatternLayout和PatternConverter兩個對象的作用,實現(xiàn)起來也是非常方便的。log4net有一組global的PatternLayout,這些全局的格式化對象是默認構(gòu)造的時候就存在了,我們只需要提供對我們來說特殊場景的實現(xiàn)即可。
你所使用的所有常規(guī)的格式化輸出都在全局的注冊了。我們來實現(xiàn)自己的特殊用途的PatternLayout和PatternConverter,除此之外你還需要一個日志信息的載體對象,這里我使用BusinessIDLog類來存放。
1
2
網(wǎng)友評論 |