log4j日誌中輸出sessionID的方法

2021-09-02 10:55:17 字數 541 閱讀 5181

在web應用中,如果使用log4j做日誌輸出時,如果要輸出sessionid,需要使用log4j的mdc或者ndc,這兩者實現的功能是一樣的,但是實現方法不一樣,ndc使用的是hashmap,mdc使用的是執行緒的localthread。我是使用的mdc。

具體做法就是寫乙個filter,在其中利用log4j的mdc把sessionid記錄下來,然後在log4j的輸出格式中利用%x輸出即可。

我的filter的**是這樣的,其中取sessionid的方法僅適用於spring框架,需要注意的是一定要在finally裡把記錄的資料清除掉。

public void dofilter(servletrequest request, servletresponse response, filterchain chain) throws ioexception, servletexception  finally 

}

在web.xml裡配置filter就不寫了哈。

log4j中的配置如下,其中%x就可以取到filter裡寫入的sessionid

Log4j日誌輸出

配置檔案示例 參考 link.log4j 的日誌輸出控制檔案,主要由三個部分構成 是專門用於控制日誌輸出的。其主要進行三方面控制 日誌屬性檔案由日誌附加器與根日誌組成 log4j 採用類似 c 語言中的 printf 函式的列印格式格式化日誌資訊 定義日誌輸出級別info和輸出位置控制台,檔案 lo...

log4j日誌輸出教程

log4j是幫助開發人員進行日誌輸出管理的api類庫。它最重要的特點就可以配置檔案靈活的設定日誌資訊的優先順序 日誌資訊的輸出目的地以及日誌資訊的輸出格式。log4j除了可以記錄程式執行日誌資訊外還有一重要的功能就是用來顯示除錯資訊。很多程式設計師經常會使用system.out.println語句輸...

Log4j日誌輸出詳解

log4j初始化詳解 url log4j日誌輸出詳解 url slf4j log4j的使用 url rootlogger管理,今天我們來看一下,日誌的列印輸出。日誌輸出源頭為下一句 log.info test daily level info 我們來看一下,這一句都做了些什麼?public fina...