2016-06-29 7 views
0

Log4j2 Syslog Appenderを使用しようとしていますが、メッセージは送信されません。 WireSharkを使用して環境を監視していますが、メッセージは検出されません。 Windows 7で動作しています。Java Log4j2 Syslog Appenderはメッセージを送信しません

私がKiwi syslogを使用すると、メッセージはうまく届きます。

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration status="warn" name="MyApp" packages=""> 
    <Appenders> 
    <Console name="Console" target="SYSTEM_OUT"> 
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </Console> 
      <Syslog name="RFC5424" format="RFC5424" host="localhost" port="514" 
      protocol="UDP" appName="MyApp" includeMDC="true" 
      facility="USER" enterpriseNumber="18060" newLine="true" 
      messageId="Audit" mdcId="mdc" id="App" 
      connectTimeoutMillis="1000" reconnectionDelayMillis="5000"> 
      <LoggerFields> 
       <KeyValuePair key="thread" value="%t"/> 
       <KeyValuePair key="priority" value="%p"/> 
       <KeyValuePair key="category" value="%c"/> 
       <KeyValuePair key="exception" value="%ex"/> 
       <KeyValuePair key="message" value="%m"/> 
      </LoggerFields> 
     </Syslog> 
     </Appenders> 
    <Loggers> 
    <Logger name="com.mycorp" level="info" /> 
     <Root level="info"> 
      <AppenderRef ref="RFC5424"/> 
      <AppenderRef ref="Console"/> 
     </Root> 
    </Loggers> 
</Configuration> 

はここに私のJavaコードです:

は、ここに私のlog4j2 XML設定ファイルで正常に動作しますアペンダ

import org.apache.logging.log4j.Logger; 
import org.apache.logging.log4j.LogManager; 
import java.io.*; 
import java.sql.SQLException; 

public class SyslogLogger 
{ 
    private static final Logger LOG = LogManager.getLogger(SyslogLogger.class); 

    public static void main (String[] args)throws IOException,SQLException 
    { 
     LOG.error("testing ERROR level"); 
    } 
} 

コンソールが、syslogがありません。

お知らせください。

+0

はERR-出力を確認してください。私はあなたのlog4j.xmlが壊れていると思いますので、デフォルトの設定が使用されています。アペンダーは、属性を持つ「アペンダー」タグを使用して構成されます。 – Fildor

+0

@Fildor、私はコンソール出力を見ていますが、エラーはありません。 –

+0

@Fildor、質問を更新しました。どうぞご覧ください。 –

答えて

0

以下トライコードとそれをチェック:

<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{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> 
    </layout> 
</appender> 
+0

Syslog Appenderを参照して変更する必要はありますか? –

+0

それに応じてSysLogアペンダを変更する必要があります。 – Fildor

+0

それを探して、私はあなたのように見える例を見つけました:それはlog4j ** 2 **の設定例でした。 log4j 1.2を使用している場合、configはJigar氏のように見えます。 – Fildor

関連する問題