Docker+springboot项目logback输出日志与服务器时间相差8小时
由于项目是部署在docker容器中的,使用的是docker-compose进行的容器编排,所以导致日志输出时间相差8小时的原因有两种:查看宿主机时间与容器内时间
·
前言
由于项目是部署在docker容器中的,使用的是docker-compose进行的容器编排,所以导致日志输出时间相差8小时的原因有两种:
- 容器内时区与宿主机时区不一致,导致容器内获取的时间与宿主机时间不一致
- logback在配置时间格式的时候没有指定时区,采用的默认时区,会导致与宿主机时区不一致
方案一
查看宿主机时间与容器内时间
date
docker exec -it 容器名或容器id date
如果容器运行时区与宿主机运行时区一致,则需要按照方案二进行修改
方案二
找到logback.xml文件中的如下配置
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}.%d{yyyy-MM-dd}.zip</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS,CTT} %level [%thread] %logger{36} [%file : %line] %msg%n
</pattern>
</encoder>
</appender>
需要在
%d{yyyy-MM-dd HH:mm:ss.SSS}中加上CTT指定时区
重新打包构建镜像后问题解决
更多推荐
已为社区贡献2条内容
所有评论(0)