c# - 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#。谢谢-埃德
解决方案
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 开发接收器非常简单,并且有大量示例可以用作自定义接收器的基础。
推荐阅读
- vba - 从邮件合并中保存单个文档时出错
- javascript - React + 为第三方 url 的 CSS 和 Js 添加缓存清除
- node.js - GENERATE_SOURCEMAP=false 问题
- c# - 如何检查特定用户是否对远程机器上的特定文件夹具有读/写/任何权限?C#
- python - 在 python,BS4 上解析数据时得到“无”
- javascript - 在 Chrome 和 Edge 中工作但在 IE 中不工作的代码 - setimeout?
- php - 发送成功事件的电子邮件通知
- c++ - 如何从文件系统打印特定名称文件
- java - 我添加范围 1 - 9999 的条件的代码无法使用 switch 语句
- powershell - 在包含多个作业的 Azure DevOps 发布管道中,我可以在脚本中捕获以前作业的状态吗?