如何将 Tomcat 日志重定向回 catalina.out 而不是 syslog?

如何将 Tomcat 日志重定向回 catalina.out 而不是 syslog?

在发行说明中openSUSE 13.1,开发人员自豪地声明Tomcat日志不再是被写入catalina.out,而是被写入syslog。我在新发行版中看到了类似的行为,但现在这也是我的问题。我真的不知道为什么它被认为是改进。这就是为什么,

  1. 我的 Tomcat 安装被用作多个开发人员的游乐场,我几乎不想与他们分享我的系统日志。
  2. 下面的 web 应用程序Tomcat的日志非常详细(因为它正在开发中),我不想将所有这些垃圾放入系统日志中。

关于如何将Tomcat日志重定向到syslog的教程有很多,但我需要执行反向操作。有任何想法吗?

更新:这是我的tomcat.conf,没有什么可疑的:

JAVA_HOME="/etc/alternatives/jre"

CATALINA_HOME="/usr/share/tomcat" CATALINA_BASE="/usr/share/tomcat" CATALINA_TMPDIR="/var/cache/tomcat/temp"

SECURITY_MANAGER="假"

SHUTDOWN_WAIT =“30”

SHUTDOWN_VERBOSE="假"

CLEAR_WORK="假"

CATALINA_OPTS="-Xms2G -Xmx8G -XX:PermSize=256m -XX:MaxPermSize=4G"

答案1

Tomcat从 openSUSE 存储库安装,作为systemd.根据这一页,不可能将 systemd 控制的服务的输出直接重定向到该文件。因此,我只剩下唯一的选择:在消息syslog到达那里时过滤消息。

我已经创建了文件/etc/rsyslog.d/tomcat.conf并将这些行放在那里:

:程序名,包含,"tomcat" /var/log/tomcat/tomcat.log

:程序名,包含,“tomcat”~

这对我来说效果很好。

2018 年更新:如今,每个开发人员都宁愿将自己的 Tomcat 实例解压到一个文件夹中,而不是在系统范围内安装。或者甚至可以嵌入到程序中,例如可以在 Spring Boot 中完成。

相关内容