Microsoft Access友好的Serilog接收器

问题描述 投票:0回答:1

我使用SEQ,file和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#。谢谢-Ed

c# serilog
1个回答
2
投票

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

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

最终,您可以开发自己的接收器,直接写入.csv文件,甚至直接写入Access .accdb文件。为Serilog开发Sinks非常简单,你可以使用tons of examples作为定制水槽的基础。

© www.soinside.com 2019 - 2024. All rights reserved.