Q1:Syslogデーモンへログを出力するには?

以下のように SyslogAppender を使用します。

  <appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
    <param name="SyslogHost" value="ホスト名" />
    <param name="Facility" value="local0" />
    <param name="FacilityPrinting" value="true" />    
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern"
        value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
    </layout>
  </appender>

アペンダクラスには org.apache.log4j.net.SyslogAppender を使用します。SyslogHost パラメータで送信先ホスト名を指定します。もちろんそのホストで syslog デーモンが動作していなければログの送信に失敗します。特にリモートホストへログを送信する場合は、syslog デーモンがリモートからのログを受信できる状態で動作している必要があるので注意してください(syslogd を"-r"オプションを付けて起動する必要があります)。


トップページへ戻る