标签: tomcat9

Tomcat 9 - catalina.out 日志文件丢失且控制台打印输出未显示在任何地方

Tomcat9 部署在 Ubuntu 18.04 上。此问题仅适用于 Tomcat 版本 9。有一个 catalina。日期.log 文件存在于日志文件夹中,但它不显示来自我们的 Web 应用程序的任何控制台打印输出。

我已经在 logging.properties 中将 ConsoleHandler 级别设置为 ALL,但仍然没有日志。

任何指针,想法?谢谢!

logging web-applications tomcat9

8
推荐指数
1
解决办法
1万
查看次数

tomcat 9 中的 catalina.out 在哪里?

我刚刚部署了 tomcat 9,我想在它运行时检查 catalina.out 日志,但是我注意到当它停止时,它会将日志输出转储到 catalina.[date].txt 文件中。是否需要做一些额外的配置来启用 catalina.out 的实时日志记录?

tomcat logging tomcat9

5
推荐指数
2
解决办法
2万
查看次数

Tomcat 9 的 Ubuntu 18.04.2 版本未写入 catalina.out,但处于 systemd 状态

所以我在 Ubuntu 18.04.2 中遇到了 Tomcat 9 的问题。Tomcat 8 运行良好,它将 Java 堆栈跟踪记录到 /var/log/catalina.out 中。不幸的是,Tomcat 9 仅通过 apt 使用默认的 Ubuntu 配置记录 GET 和 POST 请求。

我查了一下,似乎有几个线程如何修复,最近的是这个:tomcat 9 中的 catalina.out 在哪里?- 但问题是我的 catalina.sh 看起来与此答案中显示的文件非常不同。

我的 catalina.sh 中相似(但有很大不同)的部分如下。出于某种原因,在 apt 安装中,它看起来不是想要启动 catalina,而是试图找到它的 PID?:



if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi

[...]

elif [ "$1" = "start" ] ; then
  if [ ! -z "$CATALINA_PID" ]; then
    if [ -f "$CATALINA_PID" ]; then
      if [ -s "$CATALINA_PID" ]; then
        echo "Existing PID …
Run Code Online (Sandbox Code Playgroud)

tomcat apt tomcat9 ubuntu-18.04

5
推荐指数
1
解决办法
2248
查看次数

Tomcat 9 下的应用程序日志记录中断:/var/log/myapp 的权限被拒绝

我有一个 Java webapp,它在 Ubuntu Linux 上的 Apache Tomcat 下运行。当我从 Tomcat 8 升级到 Tomcat 9 时,应用程序无法再将日志文件写入/var/log/myapp. 我不明白为什么它没有权限登录到这个位置。

我的第一个想法是用户改变了。Tomcat 8 在tomcat8:tomcat8用户下运行。Tomcat 9 在tomcat:tomcat用户下运行。我用这些权限更新了目录。无论是tomcat用户和tomcat组具有写权限。

我还检查了该目录的写入和执行权限。该目录具有写入和执行权限,所有父目录都具有执行权限。

/var/log/myapp/ drwxrwxr-x  tomcat tomcat
/var/log        drwxrwxr-x  root syslog 
/var            drwxr-xr-x  root root            
/               drwxr-xr-x  root root
Run Code Online (Sandbox Code Playgroud)

如果我在我的 Web 应用程序下运行以下代码

    File logdir =  new File("/var/log/myapp");
    setAttribute("debug", 
        "<br>user: " + System.getProperty("user.name") +
        "<br>execute: " + logdir.canExecute() +
        "<br>read: " + logdir.canRead() +
        "<br>write: " + logdir.canWrite()
    );
Run Code Online (Sandbox Code Playgroud)

它打印出没有写权限

user: tomcat …
Run Code Online (Sandbox Code Playgroud)

permissions log-files logging file-permissions tomcat9

3
推荐指数
1
解决办法
4403
查看次数