docker-compose.yml 中 tomcat 服务部分,添加以下环境变量:
environment:
- TZ=Asia/Shanghai
- UMASK=0022
- LANG=C.UTF-8
- LC_ALL=C.UTF-8
- JAVA_OPTS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
确保 conf/logging.properties 中控制台处理器编码为 UTF-8:
java.util.logging.ConsoleHandler.encoding = UTF-8
{/collapse-item}
{collapse-item label="日志输出和分割"}
让 Tomcat 输出到 catalina.out
docker-compose.yml,在 tomcat 服务中加:
command: >
bash -c "mkdir -p /usr/local/tomcat/logs && catalina.sh run >> /usr/local/tomcat/logs/catalina.out 2>&1"
日志分割
Tomcat 默认不会分割 catalina.out
它会一直追加写入,文件会越来越大,除非你手动处理。
用 logrotate(宿主机处理)
在宿主机创建配置文件:
sudo nano /etc/logrotate.d/tomcat-catalina
内容如下:
/opt/1panel/docker/compose/web/tomcat/logs/catalina.out {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
然后手动测试一次:
sudo logrotate -vf /etc/logrotate.d/tomcat-catalina
可选:确认定时任务是否启用
cat /etc/cron.daily/logrotate
确保它存在且可执行:
ls -l /etc/cron.daily/logrotate
{/collapse-item}
评论 (0)