我有一個MVC3 Web應用程序。我正在使用Ninject 2進行依賴注入,並將Ninject日誌擴展與log4net進行日誌記錄。
我的客戶希望能夠「跟蹤」生產中的用戶會話以排除可能出現的問題。我們想要實現它的方式是通過動態更改該用戶的日誌級別,例如通過存儲cookie,因此當Ninject.logging提供記錄器實例時,它知道提供級別設置爲Debug的日誌實例。
我沒有找到任何方式來做到這一點,無論是通過使用Ninject日誌記錄或純粹的log4net。
有什麼建議嗎?根據請求信息動態更改log4net級別
0
A
回答
1
我們結束了修改ninject.extension.logging這樣:
- 在LoggerFactoryBase我們修改了GetLogger(IContext context)
方法來檢索的HttpContext
一個cookie - 如果這個值被設置,我們得到或創建記錄器與「追蹤」。 +類型名稱
- 在log4net配置中,我們有一個名爲「Tracing」的記錄器設置爲調試
1
我認爲你可以像編程in this other question那樣以編程方式強制關卡。它不是完全提供一個新的logegr實例,而是改變當前的實例,但我想它可以解決您的問題。
相關問題
- 1. 配置log4net根據級別
- 2. 更改Google項目的請求級別
- 3. 根據縮放級別更改圖標
- 4. 根據當前信息更改url
- 5. 根據請求更改div類[]
- 6. FormView CBV根據請求更改ModelForm
- 7. 使用Facebook-php-sdk請求應用程序級別的信息
- 8. 動態更改日誌記錄級別
- 9. WP7 - 根據用戶輸入的信息向服務器發送動態信息請求
- 10. 動態更改scrapy請求調度程序優先級
- 11. 如何更改AX信息消息的級別
- 12. Angular:動態更改JSON請求
- 13. 根據多個站點的請求動態更改Django設置變量
- 14. log4j信息級別不記錄信息
- 15. Tcl:[信息級別]與[信息幀]
- 16. 修改請求路徑信息
- 17. Sitecore - 根據請求獲取有關媒體項目的信息
- 18. Log4Net級別數值
- 19. 配置log4net根據日誌級別寫入不同的文件
- 20. 根據請求
- 21. 根據動態字段更改網址
- 22. 一個班級如何從另一個班級請求信息?
- 23. 根據點擊按鈕動態添加模態信息
- 24. 更改不同請求上的nginx根
- 25. 根據請求使用@ExceptionHandler動態返回HTTP狀態代碼
- 26. python動態更改超級
- 27. 在log4net xml中更改日誌記錄級別
- 28. Apache log4net更改日誌記錄級別文本
- 29. 根據我的API請求403狀態
- 30. Cassandra用於更改信息需求
這是答案的一部分,我需要更改日誌級別。問題是,如果我這樣做,它會改變系統中的所有後續請求。我想要的只是一種改變級別的方法,只能用於會話中帶有Cookie或參數或其他內容的請求。 –
使用LogManager.GetLogger()創建一個新日誌,並將其添加到原始日誌的相同appender中。 –