Java 如何使用log4j在syslog中整合多行日志

Java 如何使用log4j在syslog中整合多行日志,java,log4j,syslog,rsyslog,Java,Log4j,Syslog,Rsyslog,我正在使用rsyslog将我的var/log/message提供给一个工具。但是,正如您所看到的,异常出现在多行中(每行的时间戳不同),而不是作为一行记录。我希望它看起来像catalina.out消息。我有没有办法做到这一点。任何帮助都将不胜感激 catalina.out看起来像这样: at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.aop.support.AopUtils.invokeJoinp

我正在使用rsyslog将我的var/log/message提供给一个工具。但是,正如您所看到的,异常出现在多行中(每行的时间戳不同),而不是作为一行记录。我希望它看起来像catalina.out消息。我有没有办法做到这一点。任何帮助都将不胜感激

catalina.out看起来像这样:

at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
var/log/message如下所示

2014-02-20T06:21:32.006782+00:00 something148-084-115 at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
2014-02-20T06:21:32.006782+00:00 something148-084-115 at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
2014-02-20T06:21:32.006784+00:00 something148-084-115 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
2014-02-20T06:21:32.006784+00:00 something148-084-115 at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
2014-02-20T06:21:32.006786+00:00 something148-084-115 at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
log4j.xml-

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
   <appender name="console" class="org.apache.log4j.ConsoleAppender">
      <param name="Target" value="System.out" />
      <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{ISO8601} abc: [component=&quot;XYZ&quot; priority=&quot;%p&quot; thread=&quot;%t&quot;] %c.%M:%L - %m%n" />
      </layout>
   </appender>
   <appender name="syslog" class="org.apache.log4j.net.SyslogAppender">
      <param name="syslogHost" value="localhost" />
      <param name="threshold" value="INFO" />
      <param name="facility" value="LOCAL0" />
      <param name="facilityPrinting" value="false" />
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="abc: [component=&quot;XYZ&quot; priority=&quot;%p&quot; thread=&quot;%t&quot;] %c.%M:%L - %m%n" />
      </layout>
   </appender>
   <root>
      <priority value="info" />
      <appender-ref ref="console" />
      <appender-ref ref="syslog" />
    </root>
    <logger name="org.springframework">
      <level value="warn" />
    </logger>
    <logger name="org.hibernate">
       <level value="warn" />
    </logger>
</log4j:configuration>

谢谢