NLog Elasticsearch集成@timestamp在ES中工作错误(提前2小时)

时间:2019-07-04 10:42:10

标签: elasticsearch nlog

我正在将日志从NLog发送到ElasticSearch。因此,当我在ElasticSearch部分中看到@timestamp表示错误时,它显示早2个小时。

我看到默认的@timestamp工作错误,我在NLog.config中添加了我的时间,但是当我检查Elasticsearch时,我的时间现在可以正常工作,但似乎是文本格式,我希望使用日期格式。

在NLog.config文件中:

    <target xsi:type="BufferingWrapper" name="ElasticSearch"
        flushTimeout="5000">
  <target xsi:type="ElasticSearch" 
          index = "logstash-${date:format=yyyy-MM-dd}"           
          uri = "http://localhost:9200/"
          includeAllProperties ="true">
    <field name="host" layout="${machinename}"/>
    <field name="message" layout="${message}"/>
    <field name="src" layout="${logger}"/>
    <field name="time" layout="${longdate}"/>
   </target>
  </target>

为什么时间似乎是文本格式?如何更改日期格式?

在NLog.config内部,我可以更改@timestamp字段,该字段在ElasticSearch中使用默认值。

1 个答案:

答案 0 :(得分:0)

对于ElasticSearch,日期应为UTC,

所以使用

${longdate:universalTime=true}