Nlog日志框架集成Seq擴展包
什么是Seq?
正如我們使用不同的日志框架來為我們的應用程序收集各類日志信息, 這些信息可以有效的幫助我們快速診斷應用程序中發(fā)生的各類問題, 盡管如此,對于常見的日志框架而言, 它們往往只是解決了日志功能快速集成以及如何配置輸出保存等功能。
對于那些不間斷運行的應用程序而言, 日志的存儲和維護工作會變得異常麻煩, 如果想靈活的在不同時間段去查找日志, 根據(jù)不同的日志類型快速的定位問題,
這會變得非常困難,所以為了解決這些問題, Seq就登場了。Seq提供了收集應用程序日志、搜索過濾、警告以及圖表分析等功能。
如何使用Seq?
如果你使用了類似Nlog、Serilog等日志框架, 那很棒, 對于你來說,你幾乎可以很少的配置它即可快速的實現(xiàn)Seq集成。Seq提供了Nlog、Serilog、Log4Net等框架的Seq擴展包。
首先, 你需要安裝且配置好Seq, 官方提供了兩種方式快速創(chuàng)建Seq服務
出于演示的目的, 這里直接安裝Docker鏡像來演示:
下載Seq Docker鏡像
docker pull datalust/seq啟動Seq實例, 本地端口5341
docker run --name seq -d --restart unless-stopped -e ACCEPT_EULA=Y -p 5341:80 datalust/seq:latest打開瀏覽器輸入,即可
完成Seq的配置之后, 接下來在應用程序當中安裝Nlog、Nlog.Config、NLog.Targets.Seq。
打開Nlog.Config,配置Seq:
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd" autoReload="true" throwExceptions="false" internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"> <extensions> <add assembly="NLog.Targets.Seq"/> </extensions> <targets> <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate}|${event-properties:item=EventId_Id:whenEmpty=0}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}" /> <target name="seq" xsi:type="BufferingWrapper" bufferSize="1000" flushTimeout="2000"> <target xsi:type="Seq" serverUrl="http://localhost:5341" apiKey="" /> </target> </targets> <rules> <logger name="*" minlevel="Debug" writeTo="seq" /> </rules> </nlog>
以上完成了Nlog的配置, 當應用程序輸出Debug的時候, 即可將信息寫入至Seq。
應用程序調(diào)用Debug輸出:
private void Button_Click_3(object sender, RoutedEventArgs e) { logger.LogDebug("Button_Click_3"); }
再次瀏覽器打開Seq的服務地址, 會記錄所有點擊Debug的詳細信息, 如下所示:
Seq的其他功能
日志保存到Seq服務器已經(jīng)完成,剩下的工作就是如果使用Seq集成的搜索、過濾、圖標分析等功能, 來快速診斷應用程序當中的警告、錯誤信息等,
通過不同的日志分析, 我們很可能快速的預知存在問題所在, 這些甚至可以在客戶未察覺異常之前, 我們可以快速的做出響應。
關于Seq的更多使用方法,及高級用法, 可參考官方文檔,考慮Seq也是一個收費性質(zhì)的框架,就不做過多的介紹,不過有興趣的可以深入了解。
到此這篇關于Nlog日志框架集成Seq擴展包的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
MVC4制作網(wǎng)站教程第二章 部分用戶功能實現(xiàn)代碼
這篇文章主要為大家詳細介紹了MVC4制作網(wǎng)站教程,部分用戶功能實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08asp.net core 3.0中使用swagger的方法與問題
這篇文章主要給大家介紹了關于asp.net core 3.0中使用swagger的方法與遇到的一些問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用asp.net core 3.0具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-10-10如何處理ASP.NET Core中HTML5客戶端路由回退的問題
這篇文章主要給大家介紹了關于如何處理ASP.NET Core中HTML5客戶端路由回退的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-11-11