91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.net core如何整合log4net

發布時間:2021-12-24 10:50:07 來源:億速云 閱讀:233 作者:小新 欄目:大數據

這篇文章主要介紹.net core如何整合log4net,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1.背景

  前兩天,曾經的一個同事咨詢我,怎樣將log4net以中間件的形式整合到core里邊去。我不假思索的回答,這種問題應該有人做過吧,他說沒有。于是,我去博客園搜了下,發現還真沒有,全部都是傳統.NET那一套,直接LogManager.GetLogger,于是趁著周末有時間,決定調研下這個問題。去巨硬官網快速瀏覽了下,擴展第三方日志的核心就在于兩個接口:ILogger和ILoggerProvider。于是建好解決方案,刷刷刷實現這兩個接口,實現差不多了查相關資料時,猛然發現,臥槽,已經有國外同仁實現過了,我尼瑪的辛苦寫半天,這下徹底垮了。。。

2.切換四路

  本著偷懶、鄙視瞎造輪子/裝逼的心態, 直接把解決方案切換到開源實現。實際上順便看了下第三方實現源碼,四路也是一致的,實現那兩個接口。

解決方案如下:

.net core如何整合log4net

包引用如下:

.net core如何整合log4net

最上邊的不多說,第二個別問我,第三個就是core整合log4net的主角。關于這個,得特別說明下,最新版本是2.2.1,但我并沒有引用最新的,而是2.1.0,因為目前有些第三方包最新版本引用的原子包是最新的,而上邊第二個鬼東東Microsoft.AspNetCore.App這個框架包底層的原子包卻并不是,所以如果引用最新的第三方包,很可能會報某個原子包依賴版本不對的錯誤。解決方案有二:1、哪個包報錯,你單獨安裝哪個原子包的最新版本;2、切換第三方包的版本到較次,找到能夠兼容當前Microsoft.AspNetCore.App的實現。解決方案1的問題是,你更新了這個原子包,它的依賴包又出錯,你更新了它的依賴的依賴,它的依賴的依賴的依賴又出錯。。。所以,方便起見,我直接用了Microsoft.Extensions.Logging.Log4Net.AspNetCore的較低版本。

 log4net.config不再截圖或上代碼,跟以前的德行沒啥兩樣。

接下來,注冊log4net:

.net core如何整合log4net

圖中,前兩行的作用是過濾掉System和Microsoft開頭的命名空間下的組件產生的警告級別一下的日志,實際上主要就是一些框架性日志。第三行便是注冊log4net中間件。

接下來新建控制器,注入日志實踐下效果:

.net core如何整合log4net

上圖兩個紅框,上邊一個是構造器注入日志接口,下邊是調用日志組件記錄日志。

好,接下來我們去看看系統產生的日志,先調用:

.net core如何整合log4net

控制臺窗口:

.net core如何整合log4net

OK,日志已經輸出成功,接下來,我們看關鍵性的輸出到文件:

 .net core如何整合log4net

看到沒有,日志已經成功經由log4net輸出到文件。

以上是“.net core如何整合log4net”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邳州市| 焦作市| 晋宁县| 安宁市| 海盐县| 子洲县| 鞍山市| 神农架林区| 拉孜县| 清原| 贺兰县| 手游| 天全县| 南昌县| 灵寿县| 永吉县| 阿合奇县| 阳西县| 奈曼旗| 镇安县| 吴江市| 自贡市| 土默特右旗| 长武县| 繁峙县| 临沂市| 全州县| 康马县| 周至县| 镇康县| 宜川县| 南木林县| 视频| 奇台县| 特克斯县| 西吉县| 沐川县| 剑河县| 仙桃市| 垦利县| 台东县|