问题标签 [semantic-logging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - 将列添加到跟踪表 - 企业日志记录数据库
我在 sql server 数据库上使用企业语义日志记录
我需要在 Traces 表中添加一个或多个特定列,而不是在 Payload 列中添加值
Maye 唯一的方法是创建一个自定义 SINK,但我没有找到如何做到这一点
有人已经遇到过这个要求吗?
c# - OpCode 附加到进程外语义日志记录(SALB)c# 中的事件名称
我正在使用弹性搜索进行进程外语义日志记录。当我使用 kibana 浏览事件时,我可以看到事件即将到来。但事件名称显示为“事件名称+操作码”。即事件 OpCode 被附加到事件名称。
我的示例活动之一是
在弹性搜索(Kibana)中,事件名称显示为“ RequestStartStart ”
操作码开始附加到事件名称是正常行为吗?
c# - 如何创建可重用的语义日志库?
我目前正在设计一个 .net 日志库,它可能作为 nuget 包在我们组织中的不同解决方案中使用。但是,我还想确保我们进行语义日志记录,以便日志仍然是结构化的。
例子 -
CustomEventSource.Log.OrderProcessingFailed(order.OrderNumber, order.ItemCount);
鉴于我正在创建一个与应用程序无关的共享服务,它不应该与应用程序紧密耦合。这是一个示例流程。
- 开发者创建应用并下载日志包
- 开发人员创建特定于他们的应用程序的 EventsIds(例如 OrderProcessingFailed)、类别、关键字等
- 开发人员创建记录组件的实例,传递机器名称、事件源名称等详细信息。
- 开发人员使用在步骤 2 中创建的日志记录实例传递详细信息以及相关的名称值参数数组(例如 OrderNumber:1234,ItemCount:3)来创建日志。
- 日志库将事件写入 ETW。
- 外部侦听器捕获事件。
有没有人看到类似上面的解决方案?我的问题更多关于如何实施上面的第 2 步。我不希望 EventId 是自由文本,但它应该是客户端“强制”实现的东西,类似于接口如何让您了解如何实现所需内容。
我知道我的问题在这一点上有点模糊,所以欢迎澄清。
etw - SemanticLogging 在 EventSource 的命令处理中引发异常
在某些机器上(可能仅在 Windows 7 和 2008 R2 上,但不在 Windows 10 上)我在使用 SemanticLogging 时遇到问题。当我运行它时,我收到了闲置的输出:
所有发生在特定场景中的事情:
- 我正在开始编写事件的过程
- 然后我运行 SemanticLogging-svc.exe -c
- 片刻后发生错误
但是当我改变顺序并第一次启动SemanticLogging-svc.exe
然后我运行“ event writer
”时,一切都按照它应该的方式进行。
但是,当我按照第一个场景中的描述设置所有内容时,在出现错误后,我将尝试使用PerfView
魔法收集数据并SemanticLogging
开始收集数据。
使用 PerfView 我检查了Microsoft-SemanticLogging-Etw
源代码,但那里什么也没有。
SemanticLogging-svc.config:
事件格式化程序:
事件源:
c# - .Net Core 1.1 在记录时不序列化对象
我有 ASP.NET Core 1.1 应用程序,我正在使用 Serilog 进行日志记录。我想通过保留其结构来记录 DTO 对象。
所以如果我直接Serilog.Log
用来记录 DTO,如下所示
然后 Serilog 序列化 DTO 并按预期记录它。
但是我正在注入Microsoft.Extension.Logging.ILogger
控制器。我认为它会使用配置的记录器进行记录,并且会在记录时序列化对象,但事实并非如此。它只记录对象的类型名称。
启动.cs
应用设置.json
json - 在 NLog 流利的日志记录中,如何强制将日志属性呈现为 JSON?
我正在使用 NLog 在 Seq 服务器中创建语义日志。我想记录一个对象,该对象具有一种ToString()
生成数据内容的简短人类可读摘要的方法。因此,我想在使用消息模板对其进行格式化时将对象呈现为字符串。我还想将该对象作为日志属性包含在内,并将其所有属性呈现为 JSON,以便我可以在 Seq.xml 中检查这些数据。所以基本上我想用两种不同的方式记录同一个对象。
这是我尝试在代码中执行此操作的方式:
第一部分工作正常。问题出在.Property()
零件上。这也调用.ToString()
对象并将其呈现为字符串。我想要一个 JSON 文档。
如果我使用它作为我的消息模板,我可以获得这种效果:
这会将对象作为 JSON 呈现到日志属性中,但不幸的是,也会将 JSON 注入格式化的日志消息中,这会导致消息非常不可读。使用时如何获得这种行为.Property()
?