[英]log4j2 SyslogAppender not writing to logs
我知道以前有人问过这类问题,但我找不到合适的答案。 我正在使用 syslog appender 将我的 java 应用程序日志发送到 Syslog,但它不起作用。 我的 log4j2.xml 文件是:
?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
<Appenders>
<Console name="LogToConsole" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<Syslog name="syslogAppender" format="RFC5424" host="localhost" newLine="true" port="514" protocol="UDP" appName="MyApp"
facility="USER" messageId="Audit" mdcId="mdc" includeMDC="true" id="SmartTerminal-EventScheduler"
connectTimeoutMillis="1000" reconnectionDelayMillis="5000"/>
</Appenders>
<Loggers>
<Logger name="com.mycorp" level="info" />
<Root level="error">
<AppenderRef ref="syslogAppender"/>
<AppenderRef ref="LogToConsole" />
</Root>
</Loggers>
</Configuration>
这是我的 /etc/rsyslog.conf 文件:
#################
module(load="imuxsock") # provides support for local system logging
#module(load="immark") # provides --MARK-- message capability
# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")
# provides TCP syslog reception
#module(load="imtcp")
#input(type="imtcp" port="514")
# provides kernel logging support and enable non-kernel klog messages
module(load="imklog" permitnonkernelfacility="on")
###########################
#### GLOBAL DIRECTIVES ####
###########################
#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# Filter duplicated messages
$RepeatedMsgReduction on
#
# Set the default permissions for all log files.
#
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog
#
# Where to place spool and state files
#
$WorkDirectory /var/spool/rsyslog
#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf
当我检查 /var/log/messages 时,我看不到任何日志。 类似地,我尝试检查 /var/log/syslog 和 /var/log/user.log 但在那里找不到任何日志。 我不知道我做错了什么。
谢谢
在上面的配置文件 /etc/rsyslog.conf 中,rsyslog 服务器没有像其评论的那样监听 tcp。
取消注释上述配置并重新启动 rsyslog 服务应该可以解决问题。
# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.