org.productivity.java.syslog4j.impl.unix
Class UnixSyslog

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

public class UnixSyslog
extends AbstractSyslog

UnixSyslog is an extension of AbstractSyslog that provides support for Unix-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: UnixSyslog.java,v 1.27 2010/10/25 04:21:19 cvs Exp $
Author:
<syslog4j@productivity.org>
See Also:
Serialized Form

Nested Class Summary
protected static interface UnixSyslog.CLibrary
           
 
Field Summary
protected static int currentFacility
           
protected static UnixSyslog.CLibrary libraryInstance
           
protected static boolean openlogCalled
           
protected  UnixSyslogConfig unixSyslogConfig
           
 
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
UnixSyslog()
           
 
Method Summary
 void flush()
           
 AbstractSyslogWriter getWriter()
           
 void initialize()
           
protected static void loadLibrary(UnixSyslogConfig config)
           
 void log(SyslogMessageProcessorIF messageProcessor, int level, java.lang.String message)
           
 void returnWriter(AbstractSyslogWriter syslogWriter)
           
 void shutdown()
           
protected  void write(int level, byte[] message)
           
protected static void write(int level, java.lang.String message, UnixSyslogConfig config)
           
 
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, 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

unixSyslogConfig

protected UnixSyslogConfig unixSyslogConfig

currentFacility

protected static int currentFacility

openlogCalled

protected static boolean openlogCalled

libraryInstance

protected static UnixSyslog.CLibrary libraryInstance
Constructor Detail

UnixSyslog

public UnixSyslog()
Method Detail

loadLibrary

protected static void loadLibrary(UnixSyslogConfig config)
                           throws SyslogRuntimeException
Throws:
SyslogRuntimeException

initialize

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

write

protected static void write(int level,
                            java.lang.String message,
                            UnixSyslogConfig config)
                     throws SyslogRuntimeException
Throws:
SyslogRuntimeException

write

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

log

public void log(SyslogMessageProcessorIF messageProcessor,
                int level,
                java.lang.String message)
Overrides:
log in class AbstractSyslog

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