如何使用NLog Elasticsearch Target定义自定义字段

时间:2017-07-13 17:07:38

标签: c# .net elasticsearch logging nlog

我使用此Elasticsearch Nlog Target将我的日志发送到Elasticsearch。我想利用Elasticsearch在索引中定义特定字段的能力。 Elasticsearch Nlog Target's文档显示了字段定义的示例here

我想通过代码执行此操作,并且我希望使用每条消息记录动态设置字段的值。

从Elasticsearch方面看一下,我希望看到类似的内容,我已经定义并设置了两个自定义字段prop1prop2的值:

Event schema

1 个答案:

答案 0 :(得分:2)

感谢Elasticsearch NLog Target's项目owners的帮助,我发现存在以下选项:

使用NLog的Fluent API

var myLogger = LogManager.GetCurrentClassLogger();
var eventInfo = new LogEventInfo(LogLevel.Info, MyLogger.Name, "Message");
eventInfo.Properties["CustomValue"] = "My custom string";
eventInfo.Properties["CustomDateTimeValue"] = new DateTime(2020, 10, 30, 11, 26, 50);
eventInfo.Properties.Add("CustomNumber", 42);
logger.Log(eventInfo);

_myTarget.IncludeAllProperties=True;

以下语法也是一个选项:

{{1}}