Class SyslogAppender

    • Field Detail

      • LOG_AUTH

        public static final int LOG_AUTH
        security/authorization messages
        See Also:
        Constant Field Values
      • LOG_SYSLOG

        public static final int LOG_SYSLOG
        messages generated internally by syslogd
        See Also:
        Constant Field Values
      • LOG_AUTHPRIV

        public static final int LOG_AUTHPRIV
        security/authorization messages (private)
        See Also:
        Constant Field Values
      • syslogFacility

        int syslogFacility
      • facilityStr

        java.lang.String facilityStr
      • facilityPrinting

        boolean facilityPrinting
      • syslogHost

        java.lang.String syslogHost
      • header

        private boolean header
        If true, the appender will generate the HEADER (timestamp and host name) part of the syslog packet.
        Since:
        1.2.15
      • dateFormat

        private final java.text.SimpleDateFormat dateFormat
        Date format used if header = true.
        Since:
        1.2.15
      • localHostname

        private java.lang.String localHostname
        Host name used to identify messages from this appender.
        Since:
        1.2.15
      • layoutHeaderChecked

        private boolean layoutHeaderChecked
        Set to true after the header of the layout has been sent or if it has none.
    • Constructor Detail

      • SyslogAppender

        public SyslogAppender()
      • SyslogAppender

        public SyslogAppender​(Layout layout,
                              int syslogFacility)
      • SyslogAppender

        public SyslogAppender​(Layout layout,
                              java.lang.String syslogHost,
                              int syslogFacility)
    • Method Detail

      • close

        public void close()
        Release any resources held by this SyslogAppender.
        Since:
        0.8.4
      • initSyslogFacilityStr

        private void initSyslogFacilityStr()
      • getFacilityString

        public static java.lang.String getFacilityString​(int syslogFacility)
        Returns the specified syslog facility as a lower-case String, e.g. "kern", "user", etc.
      • getFacility

        public static int getFacility​(java.lang.String facilityName)
        Returns the integer value corresponding to the named syslog facility, or -1 if it couldn't be recognized.
        Parameters:
        facilityName - one of the strings KERN, USER, MAIL, DAEMON, AUTH, SYSLOG, LPR, NEWS, UUCP, CRON, AUTHPRIV, FTP, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The matching is case-insensitive.
        Since:
        1.1
      • splitPacket

        private void splitPacket​(java.lang.String header,
                                 java.lang.String packet)
      • requiresLayout

        public boolean requiresLayout()
        The SyslogAppender requires a layout. Hence, this method returns true.
        Since:
        0.8.4
      • setSyslogHost

        public void setSyslogHost​(java.lang.String syslogHost)
        The SyslogHost option is the name of the the syslog host where log output should go. A non-default port can be specified by appending a colon and port number to a host name, an IPv4 address or an IPv6 address enclosed in square brackets. WARNING If the SyslogHost is not set, then this appender will fail.
      • getSyslogHost

        public java.lang.String getSyslogHost()
        Returns the value of the SyslogHost option.
      • setFacility

        public void setFacility​(java.lang.String facilityName)
        Set the syslog facility. This is the Facility option.

        The facilityName parameter must be one of the strings KERN, USER, MAIL, DAEMON, AUTH, SYSLOG, LPR, NEWS, UUCP, CRON, AUTHPRIV, FTP, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. Case is unimportant.

        Since:
        0.8.1
      • getFacility

        public java.lang.String getFacility()
        Returns the value of the Facility option.
      • setFacilityPrinting

        public void setFacilityPrinting​(boolean on)
        If the FacilityPrinting option is set to true, the printed message will include the facility name of the application. It is false by default.
      • getFacilityPrinting

        public boolean getFacilityPrinting()
        Returns the value of the FacilityPrinting option.
      • getHeader

        public final boolean getHeader()
        If true, the appender will generate the HEADER part (that is, timestamp and host name) of the syslog packet. Default value is false for compatibility with existing behavior, however should be true unless there is a specific justification.
        Since:
        1.2.15
      • setHeader

        public final void setHeader​(boolean val)
        Returns whether the appender produces the HEADER part (that is, timestamp and host name) of the syslog packet.
        Since:
        1.2.15
      • getLocalHostname

        private java.lang.String getLocalHostname()
        Get the host name used to identify this appender.
        Returns:
        local host name
        Since:
        1.2.15
      • getPacketHeader

        private java.lang.String getPacketHeader​(long timeStamp)
        Gets HEADER portion of packet.
        Parameters:
        timeStamp - number of milliseconds after the standard base time.
        Returns:
        HEADER portion of packet, will be zero-length string if header is false.
        Since:
        1.2.15
      • sendLayoutMessage

        private void sendLayoutMessage​(java.lang.String msg)
        Set header or footer of layout.
        Parameters:
        msg - message body, may not be null.