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

java.lang.Object
  extended byorg.productivity.java.syslog4j.impl.AbstractSyslog
      extended byorg.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.21 2009/01/28 15:13:52 cvs Exp $
Author:
<syslog4j@productivity.org>
See Also:
Serialized Form

Nested Class Summary
protected static interface UnixSyslog.CLibrary
           
 
Field Summary
protected  UnixSyslog.CLibrary libraryInstance
           
protected  boolean libraryLoaded
           
protected  boolean openlogCalled
           
protected  UnixSyslogConfig unixSyslogConfig
           
 
Fields inherited from class org.productivity.java.syslog4j.impl.AbstractSyslog
backLogStatus, backLogStatusSyncObject, notifiedBackLogHandlers, 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_DEBUG, LEVEL_ERROR, LEVEL_FATAL, LEVEL_INFO, LEVEL_WARN, LF, MAX_MESSAGE_LENGTH_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, SHUT_WR, SHUTDOWN_INTERVAL, SOCK_DGRAM, SOCK_STREAM, SPLIT_MESSAGE_BEGIN_TEXT_DEFAULT, SPLIT_MESSAGE_END_TEXT_DEFAULT, 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_LIBRARY_DEFAULT, SYSLOG_SOCKET_PATH_DEFAULT, SYSLOG_SOCKET_PROTOCOL_DEFAULT, TCP, TCP_DELIMITER_SEQUENCE_DEFAULT, TCP_KEEP_ALIVE_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, THREADED_DEFAULT, THROW_EXCEPTION_ON_INITIALIZE_DEFAULT, THROW_EXCEPTION_ON_WRITE_DEFAULT, UDP, UNIX_SOCKET, UNIX_SYSLOG, WRITE_RETRIES_DEFAULT
 
Constructor Summary
UnixSyslog()
           
 
Method Summary
 void flush()
           
 AbstractSyslogWriter getWriter()
           
 void initialize()
           
protected  void loadLibrary()
           
 void returnWriter(AbstractSyslogWriter syslogWriter)
           
 void shutdown()
           
protected  void write(byte[] message)
           
protected  void write(int level, java.lang.String message)
           
 
Methods inherited from class org.productivity.java.syslog4j.impl.AbstractSyslog
backLog, backLog, createWriter, createWriterThread, debug, debug, error, error, fatal, fatal, getBackLogStatus, getConfig, getMessageProcessor, getProtocol, info, info, initialize, log, log, modifyMessage, prefixMessage, setBackLogStatus, setMessageProcessor, warn, warn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

libraryLoaded

protected boolean libraryLoaded

unixSyslogConfig

protected UnixSyslogConfig unixSyslogConfig

libraryInstance

protected UnixSyslog.CLibrary libraryInstance

openlogCalled

protected boolean openlogCalled
Constructor Detail

UnixSyslog

public UnixSyslog()
Method Detail

loadLibrary

protected void loadLibrary()
                    throws SyslogRuntimeException
Throws:
SyslogRuntimeException

initialize

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

write

protected void write(int level,
                     java.lang.String message)
              throws SyslogRuntimeException
Overrides:
write in class AbstractSyslog
Throws:
SyslogRuntimeException

write

protected void write(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