Java 将tomcat日志记录到rsyslog

Java 将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

我有一个java web应用程序,它使用tomcat7运行,使用log4j记录日志。我想把我的日志发送到rsyslog

我在log4j.xml文件中使用了appender

<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。