tomcat 设置 catalina.out 按天切割
创建或修改 setenv.sh
在 Tomcat 的 bin 目录下创建或编辑 setenv.sh:
#!/bin/bash # setenv.sh - Tomcat 日志按天切割配置 # 设置 cronolog 按天切割日志 export CATALINA_OUT_CMD="/usr/bin/cronolog \"$CATALINA_BASE/logs/catalina.%Y-%m-%d.out\"" # 可选:设置日志保留策略(通过 find 命令清理旧日志) # export LOG_CLEAN_CMD="find $CATALINA_BASE/logs -name 'catalina.*.out' -mtime +30 -delete" # 确保 logs 目录存在 mkdir -p "$CATALINA_BASE/logs" # 给脚本执行权限 chmod +x "$CATALINA_HOME/bin/setenv.sh"
步骤3:修改 catalina.sh(可选但推荐)
在 catalina.sh 开头添加环境检查:
# 在 catalina.sh 文件顶部添加 if [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then . "$CATALINA_HOME/bin/setenv.sh" fi
catalina.out输出路径
if [ -z "$CATALINA_OUT" ] ; then CATALINA_OUT="/opt/applog/tomcatlog/catalina.out" fi
>> "$CATALINA_OUT" 2>&1 & 去掉放到后台
elif [ "$1" = "run" ]; then shift if [ "$1" = "-security" ] ; then if [ $have_tty -eq 1 ]; then echo "Using Security Manager" fi shift eval exec "\"$_RUNJAVA\"" "\"$CATALINA_LOGGING_CONFIG\"" $LOGGING_MANAGER "$JAVA_OPTS" "$CATALINA_OPTS" \ -D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \ -classpath "\"$CLASSPATH\"" \ -Djava.security.manager \ -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \ -Dcatalina.base="\"$CATALINA_BASE\"" \ -Dcatalina.home="\"$CATALINA_HOME\"" \ -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1
浙公网安备 33010602011771号