我使用此Elasticsearch Nlog Target将我的日志发送到Elasticsearch。我想利用Elasticsearch在索引中定义特定字段的能力。 Elasticsearch Nlog Target's文档显示了字段定义的示例here。
我想通过代码执行此操作,并且我希望使用每条消息记录动态设置字段的值。
从Elasticsearch方面看一下,我希望看到类似的内容,我已经定义并设置了两个自定义字段prop1
和prop2
的值:
答案 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}}