首页 > 解决方案 > Microsoft Access 友好的 Serilog 接收器

问题描述

我正在使用 SEQ、文件和 JSON 作为 Serilog 接收器

        Log.Logger = new LoggerConfiguration()
            .Enrich.With(new ThreadIdEnricher())
            //.Enrich.FromLogContext()
            .WriteTo.RollingFile(@"C:\QRT\Logs\QRT-LOG.txt", LogEventLevel.Information)
            .WriteTo.Seq("http://localhost:5341")
            .WriteTo.Console(restrictedToMinimumLevel: LogEventLevel.Information)
            .WriteTo.File(new CompactJsonFormatter(), "C:/QRT/Logs/log.clef")
            .CreateLogger();

SEQ 适合我,因为它看起来真的很有用。JSON 我可能会取消... 我正在尝试编写一个可以导入 Access 的文件。关键是我需要我的非开发人员朋友能够查看日志,而 Access 是一个我相信他可以用来轻松过滤客户 ID 等项目的工具。我找不到太多关于Serilog 下沉而不是他们的名字。有人可以建议一种机制来接收可以导入 Access 的东西或另一个用户友好工具可以准备好的接收器吗?

我目前正在使用 NLog 和 GamutLogViewer,这很棒,因为它可以根据正则表达式为条目着色!

任何建议都将受到欢迎。这个想法是我的朋友没有查看要调试的日志。他将查看日志中包含的“信息”。

这是在 Windows 的控制台应用程序上使用 C#。谢谢-埃德

标签: c#serilog

解决方案


Serilog 有一个名为 sink 的接收器Serilog.Sinks.NLog,它可以调整 Serilog 以通过您现有的 NLog 基础设施写入事件,这意味着您可以在整个应用程序中有效地使用 Serilog,但输出 NLog 格式的日志文件,GamutLogViewer(或YALV!作为选择)。

我能想到的另一种方法是使用接收器Serilog.Sinks.MSSqlServer,将日志写入 SQL Server 表(如果您不想要/拥有共享的 SQL Server,甚至可以是用户机器上的 SQL Server Express 实例),然后使用 Microsoft Access 通过 Access 中的链接表查询这些日志。

最终,您可以开发自己的接收器,例如直接写入.csv文件甚至直接写入 Access.accdb文件。为 Serilog 开发接收器非常简单,并且有大量示例可以用作自定义接收器的基础。


推荐阅读