专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Tomcat日志记录设置

Tomcat日志记录设置

更新时间:2021-09-23 09:48:22 来源:动力节点 浏览1331次

自动脚本

1.运行配置Tomcat脚本

运行下面的自动 configure-tomcat 脚本来设置 tomcat 日志记录并通过您的 syslog 守护程序将日志发送到Loggly。或者,您可以按照我们下面的手动配置说明进行操作。

curl -O https://www.loggly.com/install/configure-linux.sh
chmod 755 configure-linux.sh
sudo ./configure-linux.sh -a SUBDOMAIN -t TOKEN -u USERNAME 

代替:

SUBDOMAIN:您在注册Loggly时创建的帐户子域

TOKEN:来自源设置页面的客户令牌

USERNAME:您的Loggly用户名,在Loggly控制台的右上角可见

2.配置Tomcat日志

rsyslog 更容易找到名称中没有日期的文件。以下是删除旋转的方法。打开您的 tomcat 日志属性文件。如果您使用的是 tomcat 7,只需将目录更改为 tomcat7。

vim /etc/tomcat6/logging.properties 

复制并粘贴整个块以替换处理程序特定配置以删除默认日志轮换。正在更改的行以斜体显示。

1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina
1catalina.org.apache.juli.FileHandler.rotatable = false
2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost
2localhost.org.apache.juli.FileHandler.rotatable = false
3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager
3manager.org.apache.juli.FileHandler.rotatable = false
4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager
4host-manager.org.apache.juli.FileHandler.rotatable = false 

设置 Tomcat 访问日志

您可以通过启用位于/etc/tomcat6/server.xml 的server.xml 中的访问日志将 Tomcat 访问日志转发到Loggly。在 server.xml 的以下部分中禁用日志轮换并删除“.” 来自“localhost_access_log”。如果有的话。

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b"/> 

将以下属性添加到上述Valve标签以停止日志轮换。

renameOnRotate="true" 

重启tomcat

$ sudo service tomcat6 restart 

3.设置Tomcat日志文件监控

将此复制到您的终端窗口并运行它。它将确保工作目录存在。如果是 Ubuntu 系统,它会设置适当的权限。然后它会打开一个 tomcat 配置文件。

sudo mkdir -v /var/spool/rsyslog
if [ "$(lsb_release -ds | grep Ubuntu)" != "" ]; then
  sudo chown -R syslog:adm /var/spool/rsyslog
fi
sudo vim /etc/rsyslog.d/21-tomcat-loggly.conf

粘贴以下配置并替换您的客户令牌:

$ModLoad imfile
$InputFilePollInterval 10
$WorkDirectory /var/spool/rsyslog
$PrivDropToGroup adm
$WorkDirectory /var/spool/rsyslog
#Add a tag for tomcat events
$template LogglyFormatTomcat,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% [TOKEN@41058 tag=\"tomcat\"] %msg%\n"
# catalina.log
$InputFileName /var/log/tomcat6/catalina.log
$InputFileTag catalina-log
$InputFileStateFile stat-catalina-log
$InputFileSeverity info
$InputFilePersistStateInterval 20000
$InputRunFileMonitor
if $programname == 'catalina-log' then @@logs-01.loggly.com:514;LogglyFormatTomcat
if $programname == 'catalina-log' then ~
# catalina.out
$InputFileName /var/log/tomcat6/catalina.out
$InputFileTag catalina-out
$InputFileStateFile stat-catalina-out
$InputFileSeverity info
$InputFilePersistStateInterval 20000
$InputRunFileMonitor
if $programname == 'catalina-out' then @@logs-01.loggly.com:514;LogglyFormatTomcat
if $programname == 'catalina-out' then ~
# host-manager.log
$InputFileName /var/log/tomcat6/host-manager.log
$InputFileTag host-manager
$InputFileStateFile stat-host-manager
$InputFileSeverity info
$InputFilePersistStateInterval 20000
$InputRunFileMonitor
if $programname == 'host-manager' then @@logs-01.loggly.com:514;LogglyFormatTomcat
if $programname == 'host-manager' then ~
# initd.log
$InputFileName /var/log/tomcat6/initd.log
$InputFileTag initd
$InputFileStateFile stat-initd
$InputFileSeverity info
$InputFilePersistStateInterval 20000
$InputRunFileMonitor
if $programname == 'initd' then @@logs-01.loggly.com:514;LogglyFormatTomcat
if $programname == 'initd' then ~
# localhost.log
$InputFileName /var/log/tomcat6/localhost.log
$InputFileTag localhost-log
$InputFileStateFile stat-localhost-log
$InputFileSeverity info
$InputFilePersistStateInterval 20000
$InputRunFileMonitor
if $programname == 'localhost-log' then @@logs-01.loggly.com:514;LogglyFormatTomcat
if $programname == 'localhost-log' then ~
# manager.log
$InputFileName /var/log/tomcat6/manager.log
$InputFileTag manager
$InputFileStateFile stat-manager
$InputFileSeverity info
$InputFilePersistStateInterval 20000
$InputRunFileMonitor
if $programname == 'manager' then @@logs-01.loggly.com:514;LogglyFormatTomcat
if $programname == 'manager' then ~
# localhost_access_log.txt 
$InputFileName /var/lib/tomcat6/logs/localhost_access_log.txt 
$InputFileTag tomcat-access 
$InputFileStateFile stat-tomcat-access 
$InputFileSeverity info 
$InputFilePersistStateInterval 20000 
$InputRunFileMonitor 
if $programname == 'tomcat-access' then @@logs-01.loggly.com:514;LogglyFormatTomcat 
if $programname == 'tomcat-access' then ~ 

TOKEN:替换为您的客户令牌

重启 rsyslog

$ sudo service rsyslog restart 

4.验证事件

在Loggly中搜索过去一小时内带有 Tomcat 标签的事件。索引事件可能需要几分钟时间。如果它不起作用,请参阅下面的故障排除部分。

tag:tomcat 

高级 Tomcat 日志记录选项

Tomcat 8 – 通过在 -ch 选项下提供 $CATALINA_HOME 路径,使用 configure-tomcat 脚本将 tomcat 8 日志发送到 loggly。

Java Log4j 日志——使用 Log4j 从 Tomcat 发送日志

GitHub 上的脚本源代码– 查看源代码或提出改进建议

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>