我正在使用Serilog登录到LogEntries.com,但是当我配置Serilog以发送使用MachineName和ThreadId丰富的条目时,它们没有显示在LogEntries条目中。
发送到LogEntries的条目是如何格式化的。我必须手动使它们成为这些消息格式的一部分吗?如何做到这一点?
发布于 2015-04-24 07:49:43
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()https://stackoverflow.com/questions/29812336
复制相似问题