org.productivity.java.syslog4j.impl.unix.socket
Class UnixSocketSyslog

java.lang.Object
  extended by org.productivity.java.syslog4j.impl.AbstractSyslog
      extended by org.productivity.java.syslog4j.impl.unix.socket.UnixSocketSyslog
All Implemented Interfaces:
java.io.Serializable, SyslogConstants, SyslogIF

public class UnixSocketSyslog
extends AbstractSyslog

UnixSocketSyslog is an extension of AbstractSyslog that provides support for Unix socket-based syslog clients.

This class requires the JNA (Java Native Access) library to directly access the native C libraries utilized on Unix platforms.

Syslog4j is licensed under the Lesser GNU Public License v2.1. A copy of the LGPL license is available in the META-INF folder in all distributions of Syslog4j and in the base directory of the "doc" ZIP.

Version:
$Id: UnixSocketSyslog.java,v 1.13 2010/11/16 00:52:01 cvs Exp $
Author:
<syslog4j@productivity.org>
See Also:
Serialized Form

Nested Class Summary
protected static interface UnixSocketSyslog.CLibrary
           
protected static class UnixSocketSyslog.SockAddr
           
 
Field Summary
protected  int fd
           
protected  UnixSocketSyslog.CLibrary libraryInstance
           
protected  boolean libraryLoaded
           
protected  UnixSocketSyslogConfig unixSocketSyslogConfig
           
 
Fields inherited from class org.productivity.java.syslog4j.impl.AbstractSyslog
backLogStatus, backLogStatusSyncObject, notifiedBackLogHandlers, structuredSyslogMessageProcessor, syslogConfig, syslogMessageProcessor, syslogProtocol
 
Fields inherited from interface org.productivity.java.syslog4j.SyslogConstants
AF_UNIX, CACHE_HOST_ADDRESS_DEFAULT, CHAR_SET_DEFAULT, CRLF, FACILITY_AUTH, FACILITY_AUTHPRIV, FACILITY_CRON, FACILITY_DAEMON, FACILITY_FTP, FACILITY_KERN, FACILITY_LOCAL0, FACILITY_LOCAL1, FACILITY_LOCAL2, FACILITY_LOCAL3, FACILITY_LOCAL4, FACILITY_LOCAL5, FACILITY_LOCAL6, FACILITY_LOCAL7, FACILITY_LPR, FACILITY_MAIL, FACILITY_NEWS, FACILITY_SYSLOG, FACILITY_USER, FACILITY_UUCP, IDENT_SUFFIX_DEFAULT, INCLUDE_IDENT_IN_MESSAGE_MODIFIER_DEFAULT, JNA_NATIVE_CLASS, LEVEL_ALERT, LEVEL_CRITICAL, LEVEL_DEBUG, LEVEL_EMERGENCY, LEVEL_ERROR, LEVEL_INFO, LEVEL_NOTICE, LEVEL_WARN, LF, MAX_MESSAGE_LENGTH_DEFAULT, MAX_QUEUE_SIZE_DEFAULT, MAX_SHUTDOWN_WAIT_DEFAULT, OPTION_LOG_CONS, OPTION_LOG_NDELAY, OPTION_LOG_NOWAIT, OPTION_LOG_ODELAY, OPTION_LOG_PERROR, OPTION_LOG_PID, OPTION_NONE, SEND_LOCAL_NAME_DEFAULT, SEND_LOCAL_NAME_DEFAULT_VALUE, SEND_LOCAL_TIMESTAMP_DEFAULT, SERVER_SHUTDOWN_WAIT_DEFAULT, SERVER_SOCKET_BACKLOG_DEFAULT, SHUTDOWN_INTERVAL, SOCK_DGRAM, SOCK_STREAM, SPLIT_MESSAGE_BEGIN_TEXT_DEFAULT, SPLIT_MESSAGE_END_TEXT_DEFAULT, STRUCTURED_DATA_APP_NAME_DEFAULT_VALUE, STRUCTURED_DATA_EMPTY_VALUE, STRUCTURED_DATA_NILVALUE, STRUCTURED_DATA_PROCESS_ID_DEFAULT_VALUE, SYSLOG_BUFFER_SIZE, SYSLOG_DATEFORMAT, SYSLOG_FACILITY_DEFAULT, SYSLOG_HOST_DEFAULT, SYSLOG_LIBRARY_DEFAULT, SYSLOG_MESSAGE_MODIFIER_PREFIX_DEFAULT, SYSLOG_MESSAGE_MODIFIER_SUFFIX_DEFAULT, SYSLOG_PATH_DEFAULT, SYSLOG_POOL_CONFIG_MAX_ACTIVE_DEFAULT, SYSLOG_POOL_CONFIG_MAX_IDLE_DEFAULT, SYSLOG_POOL_CONFIG_MAX_WAIT_DEFAULT, SYSLOG_POOL_CONFIG_MIN_EVICTABLE_IDLE_TIME_MILLIS_DEFAULT, SYSLOG_POOL_CONFIG_MIN_IDLE_DEFAULT, SYSLOG_POOL_CONFIG_NUM_TESTS_PER_EVICTION_RUN_DEFAULT, SYSLOG_POOL_CONFIG_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS_DEFAULT, SYSLOG_POOL_CONFIG_TEST_ON_BORROW_DEFAULT, SYSLOG_POOL_CONFIG_TEST_ON_RETURN_DEFAULT, SYSLOG_POOL_CONFIG_TEST_WHILE_IDLE_DEFAULT, SYSLOG_POOL_CONFIG_TIME_BETWEEN_EVICTION_RUNS_MILLIS_DEFAULT, SYSLOG_PORT_DEFAULT, SYSLOG_SEQUENTIAL_MESSAGE_MODIFIER_FIRST_NUMBER_DEFAULT, SYSLOG_SEQUENTIAL_MESSAGE_MODIFIER_LAST_NUMBER_DEFAULT, SYSLOG_SEQUENTIAL_MESSAGE_MODIFIER_PAD_CHAR_DEFAULT, SYSLOG_SEQUENTIAL_MESSAGE_MODIFIER_PREFIX_DEFAULT, SYSLOG_SEQUENTIAL_MESSAGE_MODIFIER_SUFFIX_DEFAULT, SYSLOG_SEQUENTIAL_MESSAGE_MODIFIER_USE_PADDING_DEFAULT, SYSLOG_SOCKET_FAMILY_DEFAULT, SYSLOG_SOCKET_LIBRARY_DEFAULT, SYSLOG_SOCKET_PATH_DEFAULT, SYSLOG_SOCKET_PROTOCOL_DEFAULT, SYSLOG_SOCKET_TYPE_DEFAULT, TCP, TCP_DELIMITER_SEQUENCE_DEFAULT, TCP_FRESH_CONNECTION_INTERVAL_DEFAULT, TCP_KEEP_ALIVE_DEFAULT, TCP_MAX_ACTIVE_SOCKETS_BEHAVIOR_DEFAULT, TCP_MAX_ACTIVE_SOCKETS_DEFAULT, TCP_PERSISTENT_CONNECTION_DEFAULT, TCP_REUSE_ADDRESS_DEFAULT, TCP_SET_BUFFER_SIZE_DEFAULT, TCP_SO_LINGER_DEFAULT, TCP_SO_LINGER_SECONDS_DEFAULT, THREAD_LOOP_INTERVAL_DEFAULT, THREAD_PRIORITY_DEFAULT, THREADED_DEFAULT, THROW_EXCEPTION_ON_INITIALIZE_DEFAULT, THROW_EXCEPTION_ON_WRITE_DEFAULT, TRUNCATE_MESSAGE_DEFAULT, UDP, UNIX_SOCKET, UNIX_SYSLOG, USE_DAEMON_THREAD_DEFAULT, USE_STRUCTURED_DATA_DEFAULT, WRITE_RETRIES_DEFAULT
 
Constructor Summary
UnixSocketSyslog()
           
 
Method Summary
protected  void connect()
           
 void flush()
           
 AbstractSyslogWriter getWriter()
           
 void initialize()
           
protected  void loadLibrary()
           
 void returnWriter(AbstractSyslogWriter syslogWriter)
           
 void shutdown()
           
protected  void write(int level, byte[] message)
           
 
Methods inherited from class org.productivity.java.syslog4j.impl.AbstractSyslog
alert, alert, backLog, backLog, createWriter, createWriterThread, critical, critical, debug, debug, emergency, emergency, error, error, getBackLogStatus, getConfig, getMessageProcessor, getProtocol, getStructuredMessageProcessor, info, info, initialize, log, log, log, modifyMessage, notice, notice, prefixMessage, setBackLogStatus, setMessageProcessor, setStructuredMessageProcessor, warn, warn, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

libraryLoaded

protected boolean libraryLoaded

libraryInstance

protected UnixSocketSyslog.CLibrary libraryInstance

unixSocketSyslogConfig

protected UnixSocketSyslogConfig unixSocketSyslogConfig

fd

protected int fd
Constructor Detail

UnixSocketSyslog

public UnixSocketSyslog()
Method Detail

loadLibrary

protected void loadLibrary()

initialize

public void initialize()
                throws SyslogRuntimeException
Specified by:
initialize in class AbstractSyslog
Throws:
SyslogRuntimeException

connect

protected void connect()

write

protected void write(int level,
                     byte[] message)
              throws SyslogRuntimeException
Specified by:
write in class AbstractSyslog
Throws:
SyslogRuntimeException

flush

public void flush()
           throws SyslogRuntimeException
Throws:
SyslogRuntimeException

shutdown

public void shutdown()
              throws SyslogRuntimeException
Throws:
SyslogRuntimeException

getWriter

public AbstractSyslogWriter getWriter()
Specified by:
getWriter in class AbstractSyslog

returnWriter

public void returnWriter(AbstractSyslogWriter syslogWriter)
Specified by:
returnWriter in class AbstractSyslog