欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

Nlog日志框架集成Seq扩展包

时间:2022-06-22 09:38:54|栏目:.NET代码|点击:

什么是Seq?

正如我们使用不同的日志框架来为我们的应用程序收集各类日志信息, 这些信息可以有效的帮助我们快速诊断应用程序中发生的各类问题, 尽管如此,对于常见的日志框架而言, 它们往往只是解决了日志功能快速集成以及如何配置输出保存等功能。

对于那些不间断运行的应用程序而言, 日志的存储和维护工作会变得异常麻烦, 如果想灵活的在不同时间段去查找日志, 根据不同的日志类型快速的定位问题,

这会变得非常困难,所以为了解决这些问题, Seq就登场了。Seq提供了收集应用程序日志、搜索过滤、警告以及图表分析等功能。

如何使用Seq?

如果你使用了类似Nlog、Serilog等日志框架, 那很棒, 对于你来说,你几乎可以很少的配置它即可快速的实现Seq集成。Seq提供了Nlog、Serilog、Log4Net等框架的Seq扩展包。

首先, 你需要安装且配置好Seq, 官方提供了两种方式快速创建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。

应用程序调用Debug输出:

private void Button_Click_3(object sender, RoutedEventArgs e)
        {
            logger.LogDebug("Button_Click_3");
        }

再次浏览器打开Seq的服务地址, 会记录所有点击Debug的详细信息, 如下所示:

Seq的其他功能

日志保存到Seq服务器已经完成,剩下的工作就是如果使用Seq集成的搜索、过滤、图标分析等功能, 来快速诊断应用程序当中的警告、错误信息等,
通过不同的日志分析, 我们很可能快速的预知存在问题所在, 这些甚至可以在客户未察觉异常之前, 我们可以快速的做出响应。

关于Seq的更多使用方法,及高级用法, 可参考官方文档,考虑Seq也是一个收费性质的框架,就不做过多的介绍,不过有兴趣的可以深入了解。

上一篇:VS2019下opencv4.1.2配置图文教程(永久配置)

栏    目:.NET代码

下一篇:没有了

本文标题:Nlog日志框架集成Seq扩展包

本文地址:http://www.codeinn.net/misctech/205595.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有