elasticsearch - 如何为日志设置当前时间(-zone)?

标签 elasticsearch logging timezone nlog

我用于记录 Microsoft.Extensions.Logging 和 NLog .日志写入 Elasticsearch .当我使用 查看我的日志时基巴纳 我所有的日志都是在 UT 写的,这意味着与我的本地时间 (-zone) MET 不同的两个小时。我想查看我在 Kibana 的本地时间的日志。 如何调整日志记录的时区?

我添加了 NLog.config:

<nlog autoReload="true" throwExceptions="false"
  internalLogLevel="Info" internalLogFile="NLogError.log"
  xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <targets>
 <target name="Logfile" xsi:type="File"
  fileName="${basedir}dap.log"
layout="${longdate} ${level} ${callsite} -> ${message} ${exception:format=Message,StackTrace}"
  archiveFileName="${basedir}/archives/log.{#}.log"
  archiveEvery="Day"
  archiveNumbering="Rolling"
  maxArchiveFiles="14"
  keepFileOpen="false"
  />

  <target xsi:type="Network"
        name="CentralLog"
        newLine ="false"
        maxMessageSize="65000"
        connectionCacheSize="5"
        encoding="utf-8"
        keepConnection="false"
        maxQueueSize="100"
        address="tcp://myurl.org:5544"
        onOverflow="Split">
  <layout type="JsonLayout">
    <attribute name="machinename" layout="${machinename}" />
    <attribute name="level" layout="${level:upperCase=true}" />
    <attribute name="processname" layout="${processname}" />
    <attribute name="processid" layout="${processid}" />
    <attribute name="sendertimestamp" layout="${date:universalTime=true:format=yyyy-MM-ddTHH\:mm\:ss.fff}" />
    <attribute name="module" layout="dhp DataPickerApi ${logger}" />
    <attribute name="message" layout="${message}" />
    <attribute name="exception" layout="${exception}" />
    <attribute name="activityId" layout="${activityId}" />
  </layout>
 </target>    
</targets>

 <rules>
  <logger name="*" minlevel="Trace" writeTo="Logfile" />
  <logger name="*" minlevel="Trace" writeTo="CentralLog"/>
 </rules>
</nlog>

最佳答案

不要使用 universalTime=true ?
所以代替这个:

<attribute name="sendertimestamp" 
           layout="${date:universalTime=true:format=yyyy-MM-ddTHH\:mm\:ss.fff}" />  

用这个:

<attribute name="sendertimestamp" 
           layout="${date:format=yyyy-MM-ddTHH\:mm\:ss.fff}" />

关于elasticsearch - 如何为日志设置当前时间(-zone)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57588960/

相关文章:

java - 如何对日志上的消息进行单元测试?

java - 如何用空行分隔日志文件中的记录? Log4j

mysql - 克服 MySQL Select 中的时区差异

php - php时区会一直存在吗?

php - 如何根据来自Elasticsearch的匹配查询获取总匹配记录

elasticsearch - 通过节点红色的嵌套Elasticsearch GET请求

elasticsearch - Elasticsearch 数据最佳实践/关系数据优化

php - Laravel 上的 Elasticsearch 关系

javascript - Google Cloud Platform - 使用多行记录

oracle - 在 Oracle 中使用 TIMEZONE 更改 TIMESTAMP 的时区组件