LogBack无法在Spring Boot应用中设置时区
我有一个与 elk 相关的示例。即使我在 logback-spring.xml 中定义了时区,并将我的时区设置在 dateformat中: kibana 的tz ,文档中的时间戳为3小时时间戳。我认为无法检测到时区。
这是下面显示的屏幕截图。 image
这是我的项目链接:项目链接
我该如何解决该问题?
这是我的logback-spring.xml下面显示的。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property scope="context" name="log.fileExtension" value="log"/>
<property scope="context" name="log.fileName" value="Springboot-Elk"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS,Europe/Istanbul}] [${HOSTNAME}] [%thread] %level %logger{36}@%method:%line - %msg%n</pattern>
</layout>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.fileName}.%d{yyyy-MM-dd}.${log.fileExtension}</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS,Europe/Istanbul}] [${HOSTNAME}] [%thread] %level %logger{36}@%method:%line - %msg%n</pattern>
</encoder>
</appender>
<appender name="STASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>logstash:5044</destination>
<!-- encoder is required -->
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<timeZone>Europe/Istanbul</timeZone>
<timestampPattern>yyyy-MM-dd HH:mm:ss.SSS,Europe/Istanbul</timestampPattern>
</encoder>
<keepAliveDuration>5 minutes</keepAliveDuration>
</appender>
<logger name="org.hibernate" level="ERROR">
<appender-ref ref="STASH"/>
</logger>
<root level="ERROR">
<appender-ref ref="STDOUT"/>
<appender-ref ref="STASH"/>
<appender-ref ref="FILE"/>
</root>
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="STASH"/>
<appender-ref ref="FILE"/>
</root>
</configuration>
I have an example related with ELK in my Spring Boot. Even if I defined timezone in logback-spring.xml and set my timezone in dateFormat:tz of Kibana, timestamp in document is 3 hours back of timestamp. I think timezone cannot be detected.
Here is the screenshot shown below.
Image
Here is my project link : Project Link
How can I fix that issue?
Here is my logback-spring.xml shown below.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property scope="context" name="log.fileExtension" value="log"/>
<property scope="context" name="log.fileName" value="Springboot-Elk"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS,Europe/Istanbul}] [${HOSTNAME}] [%thread] %level %logger{36}@%method:%line - %msg%n</pattern>
</layout>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.fileName}.%d{yyyy-MM-dd}.${log.fileExtension}</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS,Europe/Istanbul}] [${HOSTNAME}] [%thread] %level %logger{36}@%method:%line - %msg%n</pattern>
</encoder>
</appender>
<appender name="STASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>logstash:5044</destination>
<!-- encoder is required -->
<encoder class="net.logstash.logback.encoder.LogstashEncoder">
<timeZone>Europe/Istanbul</timeZone>
<timestampPattern>yyyy-MM-dd HH:mm:ss.SSS,Europe/Istanbul</timestampPattern>
</encoder>
<keepAliveDuration>5 minutes</keepAliveDuration>
</appender>
<logger name="org.hibernate" level="ERROR">
<appender-ref ref="STASH"/>
</logger>
<root level="ERROR">
<appender-ref ref="STDOUT"/>
<appender-ref ref="STASH"/>
<appender-ref ref="FILE"/>
</root>
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="STASH"/>
<appender-ref ref="FILE"/>
</root>
</configuration>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以尝试更改控制台日志appender标签
Can you try changing console log appender tag to