gpt4 book ai didi

tomcat - 已解决- Tomcat 9. 如何将 catalina.out 传递给服务日志 (journalctl)

转载 作者:行者123 更新时间:2023-12-04 19:35:18 26 4
gpt4 key购买 nike

我在 Centos 机器上使用 Tomcat 9。来自 Tomcat 应用程序的日志在/opt/tomcat/logs.catalina.out 中生成。有没有办法将这些日志传递给服务日志(journalctl -u MyTomcat.service -f)?
我从/etc/systemd/system.MyTomcat.service 触发我的服务
ExecStart=/opt/tomcat/startup.sh(startup.sh调用catalina.sh启动)
我可以在 catalina.out 中看到日志,但 journcalctl 只有这些行,但 catalina 包含我的应用程序中的所有日志记录

 Feb 28 08:14:39 192.168.1.2 systemd[1]: Starting My Tomcat Service... 
Feb 28 08:14:39 192.168.1.2systemd[1]: Started My Tomcat Service.
Feb 28 08:14:39 192.168.1.2tomcat[23222]: Tomcat started.

最佳答案

嗨,我找到了帖子的解决方案。如果有其他人正在寻找它,这就是我所做的。

1. /etc/rsyslog.conf
#add imfile module
$ModLoad imfile
$IncludeConfig /etc/rsyslog.d/*.conf
...
*.* @@<SYSLOG_SERVER ADDRESS>:<SYSLOG SERVER PORT>

2. /etc/rsyslog.d/catalina_ruleset.conf
template(
name = "my_template"
type = "string"
string = "<%PRI%>%timegenerated% %HOSTNAME% %syslogtag%: %msg%"
)
input(
type="imfile"
File="<catalina.out location>"
Tag="MyTag"
PersistStateInterval="1"
reopenOnTruncate="on"
freshStartTail="on"
ruleset="My_ruleset"
)
ruleset(name="My_ruleset") {
action(
type="omfwd"
template=""my_template""
queue.saveonshutdown="on"
action.resumeRetryCount="-1"
Target="<SYSLOG_SERVER ADDRESS>"
Port="<SYSLOG SERVER PORT>"
Protocol="tcp"
)
}

关于tomcat - 已解决- Tomcat 9. 如何将 catalina.out 传递给服务日志 (journalctl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71296034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com