最近在使用log4net的時(shí)候有一個(gè)簡(jiǎn)單的需求,就是自定義個(gè)格式化輸出符。這個(gè)輸出符是專(zhuān)門(mén)用來(lái)幫我記錄下業(yè)務(wù)ID、業(yè)務(wù)類(lèi)型的。比如,“businessID:328593,businessType: orderID”。類(lèi)似這樣的輸出日志。這些日志會(huì)被elk agent提取送到日志中心ES中,用來(lái)進(jìn)行輔助排障。

簡(jiǎn)單的看了下log4net的PatternLayout和PatternConverter兩個(gè)對(duì)象的作用,實(shí)現(xiàn)起來(lái)也是非常方便的。log4net有一組global的PatternLayout,這些全局的格式化對(duì)象是默認(rèn)構(gòu)造的時(shí)候就存在了,我們只需要提供對(duì)我們來(lái)說(shuō)特殊場(chǎng)景的實(shí)現(xiàn)即可。

1

你所使用的所有常規(guī)的格式化輸出都在全局的注冊(cè)了。我們來(lái)實(shí)現(xiàn)自己的特殊用途的PatternLayout和PatternConverter,除此之外你還需要一個(gè)日志信息的載體對(duì)象,這里我使用BusinessIDLog類(lèi)來(lái)存放。

<track id="rkgl0"><tbody id="rkgl0"></tbody></track>
  • 1
    2

    我想了解如何學(xué)習(xí)

    姓名:
    手機(jī):
    留言: