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.18 2009/04/10 00:05:03 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_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, STRUCTURED_DATA_APP_NAME_DEFAULT_VALUE, STRUCTURED_DATA_EMPTY_VALUE, STRUCTURED_DATA_MESSAGE_DATEFORMAT, 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_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, TRUNCATE_MESSAGE_DEFAULT, UDP, UNIX_SOCKET, UNIX_SYSLOG, 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 boolean |
exists(java.lang.String protocol)
|
static SyslogIF |
getInstance(java.lang.String protocol)
Use getInstance(protocol) as the starting point for Syslog4j. |
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 |
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.
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:
-
- 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()
throws SyslogRuntimeException
- 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).
- Throws:
SyslogRuntimeException
main
public static void main(java.lang.String[] args)
throws java.lang.Exception
- Throws:
java.lang.Exception