Platform SDK Java 8.5 API Reference

com.genesyslab.platform.apptemplate.log4j2plugin
Class GMessageServerAppender

java.lang.Object
  extended by org.apache.logging.log4j.core.AbstractLifeCycle
      extended by org.apache.logging.log4j.core.filter.AbstractFilterable
          extended by org.apache.logging.log4j.core.appender.AbstractAppender
              extended by com.genesyslab.platform.apptemplate.log4j2plugin.GMessageServerAppender
All Implemented Interfaces:
java.io.Serializable, org.apache.logging.log4j.core.Appender, org.apache.logging.log4j.core.filter.Filterable, org.apache.logging.log4j.core.LifeCycle

@Plugin(name="GMessageServer",
        category="Core",
        elementType="appender",
        printObject=true)
public final class GMessageServerAppender
extends org.apache.logging.log4j.core.appender.AbstractAppender
implements java.io.Serializable

Log4j v2.x appender plug-in for sending LMS event logs to Genesys Message Server.

In usual scenarios this plug-in is used internally by the Application Template AB Log4j2 configuration classes.

It is also possible to use this appender without automatic logging configuration by the AppTemplate.
For example:

 <Appenders>
   <GMessageServer name="MessageServer" host="msgsrvhost" port="3007">
     <property name="ClientName">LmsLoggerTest</property>
     <property name="ClientType">GenericClient</property>
     <property name="ClientId">777</property>
     <property name="ClientHost">clienthost</property>
   </GMessageServer>
 </Appenders>
 

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.apache.logging.log4j.core.LifeCycle
org.apache.logging.log4j.core.LifeCycle.State
 
Field Summary
static java.lang.String CTX_ATTRMAP_PREFIX
           
static java.lang.String CTX_LMSATTR_CATEGORY
           
static java.lang.String CTX_LMSATTR_ID
           
static java.lang.String CTX_LMSATTR_NAME
           
static java.lang.String CTX_LMSATTR_PREFIX
           
static int DEFAULT_EVENTS_BUFFER_LEN
           
static org.apache.logging.log4j.Marker PSDK_INT_MESSAGE_MARKER
           
static org.apache.logging.log4j.Marker PSDK_LMS_MESSAGE_MARKER
          Every LMS localized message logged by LmsEventLogger will bear this marker.
It allows marker-aware implementations to perform additional processing on localized messages.
static org.apache.logging.log4j.Marker PSDK_MESSAGE_MARKER
           
 
Fields inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
LOGGER
 
Method Summary
 void append(org.apache.logging.log4j.core.LogEvent event)
          This method pushes Log4j events (messages) to the Delivery Manager.
static GMessageServerAppender createAppender(java.lang.String name, java.lang.String host, java.lang.Integer port, java.lang.String backupHost, java.lang.Integer backupPort, java.lang.Integer bufferSize, java.lang.String ignore, org.apache.logging.log4j.core.config.Property[] properties, org.apache.logging.log4j.core.Filter filter)
          Creates a Genesys Message Server Appender.
protected  void doAppendAnyMarker(org.apache.logging.log4j.core.LogEvent event)
          It's an internal branch method of append(LogEvent) for handling of Log4j messages bearing non-PSDK Log4j Marker.
protected  void doAppendLmsMarker(org.apache.logging.log4j.core.LogEvent event)
          It's an internal branch method of append(LogEvent) for handling of log events, which have LMS marker, but are not instances of Log4j2LmsMessage.
These log events may be generated by Slf4j implementation LmsEventLoggers, or produced by some user defined log request.
protected  void doAppendLmsMessage(org.apache.logging.log4j.core.LogEvent event)
          It's an internal branch method of append(LogEvent) for handling of LMS events from Log2j2 implementation of LmsEventLoggers.
protected  void doAppendNoMarker(org.apache.logging.log4j.core.LogEvent event)
          It's an internal branch method of append(LogEvent) for handling of Log4j messages without any Log4j Marker's.
protected  void doAppendPsdkIntMarker(org.apache.logging.log4j.core.LogEvent event)
          It's an internal branch method of append(LogEvent) for handling of PSDK internal messages.
protected  void doAppendPsdkMarker(org.apache.logging.log4j.core.LogEvent event)
          It's an internal branch method of append(LogEvent) for handling of log messages from application using PSDK Commons Logging interface.
 GMessageServerDeliveryManager getCurrentDeliveryManager()
          Returns current messages delivery manager.
static int getGMSLogLevel(org.apache.logging.log4j.Level level)
          Converts Log4j2 log level to Genesys Message Server specific value.
 void setupDeliveryManager(GMessageServerDeliveryManager newDeliveryManager)
           
 void start()
          Makes the Filer and the Delivery Manager ready for use.
 void stop()
          Cleans up the Filter and shuts down the Delivery Manager.
 
Methods inherited from class org.apache.logging.log4j.core.appender.AbstractAppender
error, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, setHandler, toString
 
Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilterable
addFilter, getFilter, hasFilter, isFiltered, removeFilter
 
Methods inherited from class org.apache.logging.log4j.core.AbstractLifeCycle
equalsImpl, getState, hashCodeImpl, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.logging.log4j.core.LifeCycle
getState, isStarted, isStopped
 

Field Detail

CTX_LMSATTR_ID

public static final java.lang.String CTX_LMSATTR_ID
See Also:
Constant Field Values

CTX_LMSATTR_NAME

public static final java.lang.String CTX_LMSATTR_NAME
See Also:
Constant Field Values

CTX_LMSATTR_CATEGORY

public static final java.lang.String CTX_LMSATTR_CATEGORY
See Also:
Constant Field Values

CTX_LMSATTR_PREFIX

public static final java.lang.String CTX_LMSATTR_PREFIX
See Also:
Constant Field Values

CTX_ATTRMAP_PREFIX

public static final java.lang.String CTX_ATTRMAP_PREFIX
See Also:
Constant Field Values

DEFAULT_EVENTS_BUFFER_LEN

public static final int DEFAULT_EVENTS_BUFFER_LEN
See Also:
Constant Field Values

PSDK_LMS_MESSAGE_MARKER

public static final org.apache.logging.log4j.Marker PSDK_LMS_MESSAGE_MARKER
Every LMS localized message logged by LmsEventLogger will bear this marker.
It allows marker-aware implementations to perform additional processing on localized messages.


PSDK_MESSAGE_MARKER

public static final org.apache.logging.log4j.Marker PSDK_MESSAGE_MARKER

PSDK_INT_MESSAGE_MARKER

public static final org.apache.logging.log4j.Marker PSDK_INT_MESSAGE_MARKER
Method Detail

setupDeliveryManager

public void setupDeliveryManager(GMessageServerDeliveryManager newDeliveryManager)

getCurrentDeliveryManager

public GMessageServerDeliveryManager getCurrentDeliveryManager()
Returns current messages delivery manager.

Returns:
delivery manager reference or null.

createAppender

@PluginFactory
public static GMessageServerAppender createAppender(@PluginAttribute(value="name")
                                                                  java.lang.String name,
                                                                  @PluginAttribute(value="host")
                                                                  java.lang.String host,
                                                                  @PluginAttribute(value="port")
                                                                  java.lang.Integer port,
                                                                  @PluginAttribute(value="backupHost")
                                                                  java.lang.String backupHost,
                                                                  @PluginAttribute(value="backupPort")
                                                                  java.lang.Integer backupPort,
                                                                  @PluginAttribute(value="bufferSize")
                                                                  java.lang.Integer bufferSize,
                                                                  @PluginAttribute(value="ignoreExceptions")
                                                                  java.lang.String ignore,
                                                                  @PluginElement(value="Property")
                                                                  org.apache.logging.log4j.core.config.Property[] properties,
                                                                  @PluginElement(value="Filter")
                                                                  org.apache.logging.log4j.core.Filter filter)
Creates a Genesys Message Server Appender.

Parameters:
name - The name of the Appender.
host - Hostname or tcp/ip address of target Message Server.
port - Tcp/ip port number of target Message Server.
backupHost - Hostname or tcp/ip address of Message Server backup.
backupPort - Tcp/ip port number of Message Server backup.
bufferSize - length of the events buffer for caching.
ignore - If "true" (default) exceptions encountered when appending events are logged; otherwise they are propagated to the caller.
properties - Properties to pass to the embedded agent.
filter - A Filter to filter events.
Returns:
A Message Server Appender instance or null.

start

public void start()
Makes the Filer and the Delivery Manager ready for use.

Specified by:
start in interface org.apache.logging.log4j.core.LifeCycle
Overrides:
start in class org.apache.logging.log4j.core.filter.AbstractFilterable

stop

public void stop()
Cleans up the Filter and shuts down the Delivery Manager.

Specified by:
stop in interface org.apache.logging.log4j.core.LifeCycle
Overrides:
stop in class org.apache.logging.log4j.core.filter.AbstractFilterable

append

public void append(org.apache.logging.log4j.core.LogEvent event)
This method pushes Log4j events (messages) to the Delivery Manager.

Specified by:
append in interface org.apache.logging.log4j.core.Appender
Parameters:
event - the event with log message.

doAppendLmsMessage

protected void doAppendLmsMessage(org.apache.logging.log4j.core.LogEvent event)
It's an internal branch method of append(LogEvent) for handling of LMS events from Log2j2 implementation of LmsEventLoggers.

Parameters:
event - the root log event message

doAppendLmsMarker

protected void doAppendLmsMarker(org.apache.logging.log4j.core.LogEvent event)
It's an internal branch method of append(LogEvent) for handling of log events, which have LMS marker, but are not instances of Log4j2LmsMessage.
These log events may be generated by Slf4j implementation LmsEventLoggers, or produced by some user defined log request.

Parameters:
event - the root log event message

doAppendPsdkIntMarker

protected void doAppendPsdkIntMarker(org.apache.logging.log4j.core.LogEvent event)
It's an internal branch method of append(LogEvent) for handling of PSDK internal messages.

Parameters:
event - the root log event message

doAppendPsdkMarker

protected void doAppendPsdkMarker(org.apache.logging.log4j.core.LogEvent event)
It's an internal branch method of append(LogEvent) for handling of log messages from application using PSDK Commons Logging interface.

Parameters:
event - the root log event message

doAppendAnyMarker

protected void doAppendAnyMarker(org.apache.logging.log4j.core.LogEvent event)
It's an internal branch method of append(LogEvent) for handling of Log4j messages bearing non-PSDK Log4j Marker.

Parameters:
event - the root log event message

doAppendNoMarker

protected void doAppendNoMarker(org.apache.logging.log4j.core.LogEvent event)
It's an internal branch method of append(LogEvent) for handling of Log4j messages without any Log4j Marker's.

Parameters:
event - the root log event message

getGMSLogLevel

public static int getGMSLogLevel(org.apache.logging.log4j.Level level)
Converts Log4j2 log level to Genesys Message Server specific value.

Parameters:
level - Log4j2 log message level.
Returns:
Message Server specific log level value.

Platform SDK Java 8.5 API Reference

Send comments on this topicTechpubs.webadmin@genesys.com.
Document version: 8.5.302.00
Copyright © 2006–2017 Genesys Telecommunications Laboratories, Inc. All rights reserved.