本篇讲解如果提交tomcat日志,为tomcat创建独立配置。

为什么要创建独立配置文件?

做成模块化便于管理,调试。不需要时,直接删除对应的配置文件即可。

以下是配置内容,都做了相关注释。

注:教程相关配置下载。

配置文件中的中文注释为方便初学者,并非官方提供,中文注释可能会引起奇怪的问题。

建议:在使用中删除所有的中文注释,如需注释可以用英文(实在不行就拼音)


环境:tomcat安装路径 /web/webfront

vi /etc/rsyslog.d/tomcat-log.conf
# rsyslog v5 configuration file
# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
#### MODULES ####
### 注意 ###
#配置文件中的中文注释为方便初学者,并非官方提供,中文注释可能会引起奇怪的问题。
#建议:在使用中删除所有的中文注释,如需注释可以用英文(实在不行就拼音)

#装载imfile模块
$ModLoad imfile

#检查日志文件间隔(秒)
$InputFilePollInterval 1

#状态文件保存路径,文件被用来记录扫描日志位置等信息。
#测试中服务器收集不到日志,因为被扫描过的文档不会再次上传。
#默认工作目录。
#$WorkDirectory /var/spool/rsyslog

# 定义队列文件名
#$ActionQueueFileName relpact

# 重试次数, -1 表示无限重试 
#$ActionResumeRetryCount -1

# rsyslog关闭时将队列内容存盘,防止数据丢失 
#$ActionQueueSaveOnShutdown on

#指定日志文件的拥有者
$FileOwner root

# 使用自定义的格式
# 注意:配置错误可能导致系统不能生产messages等日志
 myformat

$PrivDropToGroup root

##日志格式模板:
$template BiglogFormatTomcat,"%msg%\n"

## Tomcat的catalina.out路径,根据实际情况修改:
#读取日志文件
$InputFileName /web/webfront/logs/catalina.out
#写入日志附加标签字符串
$InputFileTag catalina-out
#日志类型,local5必须和日志收集服务器里过滤器facility(local5)里local5名字一样。
$InputFileFacility local5 
#定义记录偏移量数据文件名
$InputFileStateFile stat-catalina-out
#日志等级
$InputFileSeverity info
#回写偏移量数据到文件间隔时间(秒)
$InputFilePersistStateInterval 1
#激活读取,可以设置多组日志读取,每组结束时设置本参数。以示生效。
$InputRunFileMonitor
#提交日志到不同服务器时单独在此指定服务器IP:port,
#如都提交在同一服务器只需在rsyslog.conf里指定一次即可
# local5.*  @@192.168.1.251:514


## Tomcat的localhost.log路径,根据实际情况修改:
$InputFileName /web/webfront/logs/localhost.log
$InputFileTag catalina-log
$InputFileFacility local4
$InputFileStateFile stat-localhost-log
$InputFileSeverity info
$InputFilePersistStateInterval 1
$InputRunFileMonitor
#提交日志到不同服务器时单独在此指定服务器IP:port,
#如都提交在同一服务器只需在rsyslog.conf里指定一次即可
#local4.*  @@192.168.1.251:514



## 注意syslog日志服务器接收地址,根据实际情况修改:
## 以下内容只在rsyslog做服务端时使用,保留只做参考。
# if $programname == 'catalina-out' then @@192.168.1.251:514;BiglogFormatTomcat
# if $programname == 'catalina-out' then ~
# if $programname == 'localhost-log' then @@192.168.1.251:514;BiglogFormatTomcat
# if $programname == 'localhost-log' then ~