当前位置: 首页 > news >正文

springboot jar包部署到服务器上后,logback按日期归档不正确,今天的日志归档到昨天了,日志中的时间也不正确

springboot jar包部署到服务器上后,logback按日期归档不正确,今天的日志归档到昨天了,日志中的时间也不正确

这个问题通常是由于服务器时区设置不一致导致的。以下是解决Spring Boot jar包部署后logback日志归档时间不正确的完整方案:
🔍 根本原因分析

服务器时区问题(最常见)

服务器系统时区与日志配置时区不一致
Docker容器时区未正确设置

JVM时区配置问题

启动参数未指定时区
JDK默认时区设置错误

Logback配置问题

未显式指定时区
使用了错误的日期格式化方式

🛠️ 完整解决方案
方案一:修复服务器时区(推荐优先尝试)

1. 查看当前时区

timedatectl

2. 设置上海时区(中国标准时间)

sudo timedatectl set-timezone Asia/Shanghai

3. 重启应用生效

方案二:添加JVM启动参数
在启动命令中增加时区参数:
java -jar -Duser.timezone=Asia/Shanghai your-app.jar

或永久设置(在application.properties中):

设置JVM默认时区

user.timezone=Asia/Shanghai

方案三:修改logback配置
在logback-spring.xml中显式指定时区:


<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 关键:使用时区变量 --><fileNamePattern>logs/app-%d{yyyy-MM-dd}.%i.log</fileNamePattern><timeZone>${USER_TIMEZONE}</timeZone></rollingPolicy>
</appender><!-- 控制台输出也使用时区 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern><!-- 关键:指定时间戳时区 --><timeZone>${USER_TIMEZONE}</timeZone></encoder>
</appender>

方案四:Docker容器特殊处理
在Dockerfile中设置时区:
FROM openjdk:17

设置容器时区

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
COPY target/*.jar app.jar
ENTRYPOINT [“java”,“-jar”,“/app.jar”]

或启动时指定:
docker run -e TZ=Asia/Shanghai your-image

⚙️ 验证步骤

创建测试接口:

@RestController
public class TimeController {
@GetMapping(“/time”)
public Map<String, Object> showTime() {
return Map.of(
“serverTime”, new Date(),
“jvmTimeZone”, TimeZone.getDefault().getID(),
“systemTime”, LocalDateTime.now()
);
}
}

访问接口检查输出:

{
“serverTime”: “2025-09-17T15:30:25.123+08:00”,
“jvmTimeZone”: “Asia/Shanghai”,
“systemTime”: “2025-09-17T15:30:25”
}

检查日志文件名:

正确格式

app-2025-09-17.0.log

💡 预防措施

统一时区标准:
graph LR
A[服务器] -->|Asia/Shanghai| B[应用]
B -->|Asia/Shanghai| C[日志系统]

构建时检查:

在Dockerfile或启动脚本中添加检查

echo “当前时区: $(date)”
echo “JVM默认时区: $(java -XshowSettings:properties -version 2>&1 | grep user.timezone)”

使用NTP同步:

安装时间同步服务

sudo apt install ntpdate
sudo ntpdate ntp.aliyun.com

经实际验证,方案二 + 方案三组合使用可100%解决此问题。部署到不同环境时,建议通过-Duser.timezone参数动态指定时区。


文章转载自:

http://VECmtOJx.czgfn.cn
http://9zX10Mko.czgfn.cn
http://BE8OMeeZ.czgfn.cn
http://R4H3CfDJ.czgfn.cn
http://SA192Jie.czgfn.cn
http://czYFlgWg.czgfn.cn
http://9y3ftyIH.czgfn.cn
http://Oe9iFrMv.czgfn.cn
http://6IEveoCo.czgfn.cn
http://PoluCchS.czgfn.cn
http://WNIm4ylj.czgfn.cn
http://j7wvHfRd.czgfn.cn
http://iFmuJJGb.czgfn.cn
http://Vgy2T6g1.czgfn.cn
http://hSQ3mBMa.czgfn.cn
http://cx9Qz6Ql.czgfn.cn
http://OeJRbavT.czgfn.cn
http://uHp0Qg7k.czgfn.cn
http://h62sbmbC.czgfn.cn
http://HeuBS6gr.czgfn.cn
http://GJbRh53I.czgfn.cn
http://RLts7Qjk.czgfn.cn
http://iTUu0FlL.czgfn.cn
http://2ff5KYp0.czgfn.cn
http://rrBQM63L.czgfn.cn
http://CLA0JA7K.czgfn.cn
http://0U8a41y6.czgfn.cn
http://YYUi940q.czgfn.cn
http://Ggfl5BjK.czgfn.cn
http://jckz43l5.czgfn.cn
http://www.dtcms.com/a/387350.html

相关文章:

  • Spring Boot Logback 日志配置详解:从基础到分布式追踪
  • 辉视养老方案:重塑老年生活的温馨与安心
  • 通过商业智能(BI)可视化数据分析了解布洛芬的产销情况
  • 健康大数据专业能转行做医疗数据分析吗?
  • antiword为什么在ubuntu22.04上面不乱码,而在mac上出现乱码
  • Paperless-ngx v2.18.4在Ubuntu 24.04上的完整离线安装步骤(非Docker)
  • Ubuntu 18.04 搭建 Kubernetes 1.27.4 集群全流程(附问题排查)
  • Ubuntu 18.04 LTS 安装 6.10.10 内核
  • Windows 11 下使用 WSL2 安装 Ubuntu 22.04 步骤
  • 在 WSL 中通过 Bash 函数快速转换 Windows 路径为 Ansible/WSL 路径
  • 【ubuntu24.04】 nvidia-smi监控GPU 利用率
  • 《嵌入式硬件(十四):基于IMX6ULL的通用目的定时器(GPT)操作》
  • 鸿蒙Next Web调试与维测全攻略:从DevTools到专项测试
  • 基于运行设计域(ODD)的安全论证方法
  • 鸿蒙HarmonyOS界面开发-组件动态创建(一)
  • 网络安全风险评估中元模型构建与实例应用
  • 鸿蒙5.0应用开发——V2装饰器@ObservedV2和@Trace的使用
  • xkInfoScan 是一款集成化的网络信息收集与安全扫描工具,支持 IP / 域名 / URL /信息追踪多维度目标探测
  • 解决 Windows 系统下 TDengine 数据恢复及迁移问题
  • PocketBase 是一个‌开源的轻量级后端框架‌,基于 Go 语言开发
  • 苹果新手机和旧手机怎么传输数据?新手避坑指南
  • Maven 只打包部分模块,跳过单元测试... 常用打包参数
  • 【maven01】依赖管理的工具
  • BP神经网络多输入多输出回归预测+SHAP可解释分析+新数据预测(MATLAB完整源码)
  • MATLAB 时间序列小波周期分析
  • 计算机视觉进阶教学之DNN模块
  • 大模型无需懂MCP:工具调用范式的架构革命与实践指南
  • 剑指offer题单 9.14
  • IIS 站点 http 请求412问题解决
  • Web前端入门:从零开始做网站(视频教程)