てきとうなメモ

本の感想とか技術メモとか

Apache Log4j 1.2のSyslogAppender

UDPしか対応していないか。TCPUNIXドメインソケットには対応していないか。

SyslogAppenderはSyslogWriterを利用していてその中身は以下のような感じ。

log4j/SyslogWriter.java at v1_2_17 · apache/log4j · GitHub

package org.apache.log4j.helpers;
...
public class SyslogWriter extends Writer {
  ...
  private DatagramSocket ds;
  ..
  public
  void write(final String string) throws IOException {

    if(this.ds != null && this.address != null) {
        byte[] bytes = string.getBytes();
        //
        //  syslog packets must be less than 1024 bytes
        //
        int bytesLength = bytes.length;
        if (bytesLength >= 1024) {
            bytesLength = 1024;
        }
        DatagramPacket packet = new DatagramPacket(bytes, bytesLength,
                               address, port);
        ds.send(packet);
    }
    
  }