Dar*_*ar1 5 tomcat logging tomcat9
我刚刚部署了 tomcat 9,我想在它运行时检查 catalina.out 日志,但是我注意到当它停止时,它会将日志输出转储到 catalina.[date].txt 文件中。是否需要做一些额外的配置来启用 catalina.out 的实时日志记录?
小智 5
Ubuntu 18.04 和 20.04 现在使用“systemd”并登录到日志。要改变这种情况,请执行以下操作:
编辑文件:/lib/systemd/system/tomcat9.service
注释掉该行:SyslogIdentifier=tomcat9
并添加这两行:
StandardOutput=append:/var/log/tomcat9/catalina.out
StandardError=append:/var/log/tomcat9/catalina.out
Run Code Online (Sandbox Code Playgroud)
默认情况下,至少在 Linux 上,我所知道的每个版本的 Tomcat 都会在该 var 内的文件名中写入控制台登录信息$TOMCAT_HOME/logs/catalina.out
或如果定义的话。$CATALINA_OUT
实际上这是从启动脚本完成的,这是 Tomcat 9.0.0.M13 中启动脚本的相关部分,但其他版本也这样做, file:$TOMCAT_HOME/bin/startup.sh
调用catalina.sh
:
启动.sh:
#!/bin/sh
[...]
PRGDIR=`dirname "$PRG"`
EXECUTABLE=catalina.sh
[...]
exec "$PRGDIR"/"$EXECUTABLE" start "$@"
Run Code Online (Sandbox Code Playgroud)
卡特琳娜.sh:
#!/bin/sh
[...]
# CATALINA_OUT (Optional) Full path to a file where stdout and stderr
# will be redirected.
# Default is $CATALINA_BASE/logs/catalina.out
[...]
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
[...]
elif [ "$1" = "start" ] ; then
[...]
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-classpath "\"$CLASSPATH\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
Run Code Online (Sandbox Code Playgroud)
因此,要么您在某处设置该 var,要么您在不使用启动脚本的情况下启动 tomcat。
归档时间: |
|
查看次数: |
19711 次 |
最近记录: |