在Log4中利用關鍵字X 進行log的自定義

最近工作遇上比較麻煩的需求。

1、利用log4j記錄日誌。

2、在記錄的log中要求可以格式化控制輸出該日誌的發生源的服務器名(公司用weblogic 也就是顯示Managed server名稱)。

 


 

 

經過分析源代碼發現。在log4j的屬性中有一個專門用於擴展的關鍵字'X'。

用法如下:

    在loggingEvent 發出前,可以調用其setProperty方法擴展其屬性:

        event.setProperty("title", "TitleMessage");

    在設置完擴展屬性後(添加類Constant方法存放Key值),再交給各個Appender處理。

        此處將用到的Appender中的public void append(LoggingEvent event)覆蓋,

        讓其在運行原邏輯前將需要屬性設置。

    在配置文件中配置:

 

 

運行代碼片段:

    logger.error("This to test the X key run.");

運行結果:

    [TitleMessage]his to test the X key run.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章