Syslog経由でログメッセージを送信するためにLog4j 2.6.1を使用しようとしています。 私はそれらをファイルまたはコンソールに印刷できますが、私のSyslogサーバーでそれらを捕まえることや、送信されていることを確認できません。Java Log4j2 Syslog Appender
私が使用している設定ファイルは、私がオンライン見つけた1に基づいており、私はBSDのSyslog形式またはRFC 5424.
私は、Windowsサーバー上で実行しているを使用する必要があるかどうかわからないんだけど(Syslogサーバは同じマシン上にあります)。ここで
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<Syslog name="syslogAppender" format="RFC5424" host="localhost" newLine="true" port="514" protocol="UDP" appName="MyApp"
facility="USER" messageId="Audit" mdcId="mdc" id="App"
connectTimeoutMillis="1000" reconnectionDelayMillis="5000"/>
</Appenders>
<Loggers>
<Logger name="com.mycorp" level="info" />
<Root level="error">
<AppenderRef ref="syslogAppender"/>
</Root>
</Loggers>
</Configuration>
クラスは次のとおりです:
はここに私の設定ファイルです
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");
LOG.trace("exiting application");
}
}
私が間違っているの何教えてください?