org.productivity.java.syslog4j
Class Syslog
java.lang.Object
org.productivity.java.syslog4j.Syslog
- All Implemented Interfaces:
- java.io.Serializable, SyslogConstants
public final class Syslog
- extends java.lang.Object
- implements SyslogConstants
This class provides a Singleton interface for Syslog4j client implementations.
Usage examples:
Direct
Syslog.getInstance("udp").info("log message");
Via Instance
SyslogIF syslog = Syslog.getInstance("udp");
syslog.info();
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: Syslog.java,v 1.23 2011/01/23 20:49:12 cvs Exp $
- Author:
- <syslog4j@productivity.org>
- See Also:
- Serialized Form
Field Summary |
protected static java.util.Map |
instances
|
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 |
Method Summary |
static SyslogIF |
createInstance(java.lang.String protocol,
SyslogConfigIF config)
Use createInstance(protocol,config) to create your own Syslog instance. |
static void |
destroyInstance(java.lang.String protocol)
destroyInstance() gracefully shuts down the specified Syslog protocol and
removes the instance from Syslog4j. |
static void |
destroyInstance(SyslogIF syslog)
destroyInstance() gracefully shuts down the specified Syslog instance and
removes it from Syslog4j. |
static boolean |
exists(java.lang.String protocol)
|
static SyslogIF |
getInstance(java.lang.String protocol)
Use getInstance(protocol) as the starting point for Syslog4j. |
static boolean |
getSuppressRuntimeExceptions()
|
static java.lang.String |
getVersion()
|
static void |
initialize()
initialize() sets up the default TCP and UDP Syslog protocols, as
well as UNIX_SYSLOG and UNIX_SOCKET (if running on a Unix-based system). |
static void |
main(java.lang.String[] args)
|
static void |
setSuppressRuntimeExceptions(boolean suppress)
|
static void |
shutdown()
shutdown() gracefully shuts down all defined Syslog protocols,
which includes flushing all queues and connections and finally
clearing all instances (including those initialized by default). |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
instances
protected static final java.util.Map instances
getVersion
public static final java.lang.String getVersion()
- Returns:
- Returns the current version identifier for Syslog4j.
setSuppressRuntimeExceptions
public static void setSuppressRuntimeExceptions(boolean suppress)
- Parameters:
suppress
- - true to suppress throwing SyslogRuntimeException in many methods of this class, false to throw exceptions (default)
getSuppressRuntimeExceptions
public static boolean getSuppressRuntimeExceptions()
- Returns:
- Returns whether or not to suppress throwing SyslogRuntimeException in many methods of this class.
getInstance
public static final SyslogIF getInstance(java.lang.String protocol)
throws SyslogRuntimeException
- Use getInstance(protocol) as the starting point for Syslog4j.
- Parameters:
protocol
- - the Syslog protocol to use, e.g. "udp", "tcp", "unix_syslog", "unix_socket", or a custom protocol
- Returns:
- Returns an instance of SyslogIF.
- Throws:
SyslogRuntimeException
createInstance
public static final SyslogIF createInstance(java.lang.String protocol,
SyslogConfigIF config)
throws SyslogRuntimeException
- Use createInstance(protocol,config) to create your own Syslog instance.
First, create an implementation of SyslogConfigIF, such as UdpNetSyslogConfig.
Second, configure that configuration instance.
Third, call createInstance(protocol,config) using a short & simple
String for the protocol argument.
Fourth, either use the returned instance of SyslogIF, or in later code
call getInstance(protocol) with the protocol chosen in the previous step.
- Parameters:
protocol
- config
-
- Returns:
- Returns an instance of SyslogIF.
- Throws:
SyslogRuntimeException
initialize
public static final void initialize()
- initialize() sets up the default TCP and UDP Syslog protocols, as
well as UNIX_SYSLOG and UNIX_SOCKET (if running on a Unix-based system).
exists
public static final boolean exists(java.lang.String protocol)
- Parameters:
protocol
- - Syslog protocol
- Returns:
- Returns whether the protocol has been previously defined.
shutdown
public static final void shutdown()
- shutdown() gracefully shuts down all defined Syslog protocols,
which includes flushing all queues and connections and finally
clearing all instances (including those initialized by default).
destroyInstance
public static final void destroyInstance(java.lang.String protocol)
throws SyslogRuntimeException
- destroyInstance() gracefully shuts down the specified Syslog protocol and
removes the instance from Syslog4j.
- Parameters:
protocol
- - the Syslog protocol to destroy
- Throws:
SyslogRuntimeException
destroyInstance
public static final void destroyInstance(SyslogIF syslog)
throws SyslogRuntimeException
- destroyInstance() gracefully shuts down the specified Syslog instance and
removes it from Syslog4j.
- Parameters:
syslog
- - the Syslog instance to destroy
- Throws:
SyslogRuntimeException
main
public static void main(java.lang.String[] args)
throws java.lang.Exception
- Throws:
java.lang.Exception