【发布时间】:2015-04-25 01:18:00
【问题描述】:
我正在使用 Serilog 登录到 LogEntries.com,但是当我将 Serilog 配置为发送带有 MachineName 和 ThreadId 丰富的条目时,它们没有显示在 LogEntries 条目中。
发送到 LogEntries 的条目如何格式化。我是否必须手动使它们成为这些消息格式的一部分?如何完成?
【问题讨论】:
标签: serilog logentries
我正在使用 Serilog 登录到 LogEntries.com,但是当我将 Serilog 配置为发送带有 MachineName 和 ThreadId 丰富的条目时,它们没有显示在 LogEntries 条目中。
发送到 LogEntries 的条目如何格式化。我是否必须手动使它们成为这些消息格式的一部分?如何完成?
【问题讨论】:
标签: serilog logentries
LogEntries 似乎只处理消息文本而不是 serilog 条目中的属性,因此您需要将 outputTemplate 参数添加到 LogEntries 接收器语句以处理您使用的任何丰富属性,如果您希望它们显示在serilog 此外,如果您希望它们被 LogEntries 索引,您需要将它们格式化为键值对,KVP。我做了这样的事情。
var log = new LoggerConfiguration().ReadFrom.AppSettings()
.Enrich.With(
new MachineNameEnricher(),
new ThreadIdEnricher()
).WriteTo.Logentries(
ConfigurationManager.AppSettings["LogentriesToken"],
outputTemplate: "{Timestamp:G} [{Level}] Mx={MachineName} (Td={ThreadId}) {Message}{NewLine}{Exception}"
).CreateLogger()
【讨论】: