Java 将tomcat日志记录到rsyslog
我有一个java web应用程序,它使用tomcat7运行,使用log4j记录日志。我想把我的日志发送到rsyslog 我在log4j.xml文件中使用了appenderJava 将tomcat日志记录到rsyslog,java,tomcat,log4j,log4j2,rsyslog,Java,Tomcat,Log4j,Log4j2,Rsyslog,我有一个java web应用程序,它使用tomcat7运行,使用log4j记录日志。我想把我的日志发送到rsyslog 我在log4j.xml文件中使用了appender <appender name="syslog" class="org.apache.log4j.net.SyslogAppender"> <param name="Facility" value="USER"/> <param name="SyslogHos
<appender name="syslog" class="org.apache.log4j.net.SyslogAppender">
<param name="Facility" value="USER"/>
<param name="SyslogHost" value="localhost"/>
<param name="Threshold" value="WARN"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MMM dd HH:mm:ss} MYAPP: %-5p %m%n"/>
</layout>
</appender>
但是我仍然没有在rsyslog中看到我在java应用程序中实现的日志。我可以在catalina.out看到他们,但在rsyslog上看不到
我是否必须为rsyslog配置定义新规则
提前谢谢
更新的log4j.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="System.out" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="Target" value="System.out" />
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
<appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
<param name="SyslogHost" value="localhost"/>
<param name="Facility" value="LOCAL1"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
<!-- for package specific -->
<!-- <category name ="my.package" /> -->
<logger name ="Logger">
<level value ="debug" />
</logger>
<!-- root logger -->
<root>
<level value="info"/>
<appender-ref ref="SYSLOG"/>
</root>
定义appender不起作用,您必须使用它,就像>是的,我有,在我的标记之间。发布完整的log4j.xml添加了log4j.xml文件。我认为您的log4j配置没有任何问题,所以我想您需要检查您的系统日志守护程序配置。一个有趣的开始点是,您需要检查如何在syslog守护进程中记录LOCAL1。