【问题标题】:Microsoft Access-friendly Serilog sinkMicrosoft Access 友好的 Serilog 接收器
【发布时间】:2019-03-19 06:36:21
【问题描述】:

我使用 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


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢Caio。我会尝试 MSSqlServer 的方法。我很感激这个答案。我想确保我没有遗漏一些明显的东西。 -埃德
    • 我实际上是在尝试输出 JSON 并将 JSON 转换为带有一些 VBA 的 Access db。现在那会很酷!
    • @EdLandau :D 你在VBA 失去了我 :) :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多