我想读取我的控制台输出日志,我知道它们存储在文件 catalina.out 下的"log"文件夹中,但它不存在!我尝试过不同的方式,但没有结果。我不知道怎么弄清楚,我只想看看我的java输出日志
如果在停止tomcat
后删除catalina.out
,它将在tomcat
再次启动后创建一个新catalina.out
并且它是完全安全的。
但是,如果您在tomcat
运行时删除catalina.out
,它将继续记录到已经删除的catalina.out
(文件的引用由tomcat
持有(,因此空间将不会释放。因此,您需要重新启动tomcat
服务器以释放空间。不建议这样做。
启动/运行Tomcat服务器,它应该创建catalina.out
文件而没有任何错误。
以下是运行雄猫的多种方法。只是详细指出,所以这将有助于有需要的人。
./catalina.sh run
传递 catalina.sh 的 "run" 参数 --> 将在前台启动 Tomcat,并在同一控制台中显示正在运行的日志。 当控制台终端关闭时,它将终止 Tomcat。
./catalina.sh start
传递 catalina.sh 的"start"参数 --> 在后台启动 Tomcat。由于在后台关闭终端没有问题。日志需要按如下方式查看:tail -f $CATALINA_HOME/logs/catalina.out
./startup.sh
最后一种方法是触发 startup.sh 以启动Tomcat服务器。如果你 Vi 脚本,你可以看到它调用catalina.sh 脚本传递 start 作为参数。这也将在后台运行。
现在检查您的tomcat日志目录,您应该找到catalina.out
从catalina.sh
中,它说:
# CATALINA_OUT (Optional) Full path to a file where stdout and stderr
# will be redirected.
# Default is $CATALINA_BASE/logs/catalina.out
所以,看看你用来启动Tomcat的脚本,找出环境变量CATALINA_OUT
的值。
转到tomcat的bin文件夹并运行下面的脚本./catalina.sh start
现在catalina.out
存在于日志文件夹中
当我们将 Beanstalks 升级到Tomcat 8.5 并使用 Corretto 11 在 64 位 Amazon Linux 2 上运行时,catalina.out不再存在,并且并非所有日志都存在于 catalina 中。日期.log。我们重新建立了catalina.out,并将以下文件放入/etc/rsyslog.d/catalina.conf
$umask 0000
$FileCreateMode 0644
template(name="Tomcat" type="string" string="%msg%n") {
property(name="msg")
}
if $programname == 'tomcat' then {
action(type="omfile" file="/var/log/tomcat/catalina.out" template="Tomcat")
}
if $programname == 'server' then {
action(type="omfile" file="/var/log/tomcat/catalina.out" template="Tomcat")
}
之后,您将需要重新启动 rsyslog。
service rsyslog restart