文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Nlog日志框架集成Seq扩展包

2024-04-02 19:55

关注

什么是Seq?

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

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

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

如何使用Seq?

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

首先, 你需要安装且配置好Seq, 官方提供了两种方式快速创建Seq服务

出于演示的目的, 这里直接安装Docker镜像来演示:

完成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也是一个收费性质的框架,就不做过多的介绍,不过有兴趣的可以深入了解。

到此这篇关于Nlog日志框架集成Seq扩展包的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯