public final class LogMgr extends java.lang.Object implements LogMgrMBean
A possible work flow: - Default log level is defined globally for the entire VM through the configuration (can be different for each category) - Due to different debug settings performed by a user framework can optionally call some of the setLevel() methods to set log levels for categories; the setting will be valid for the current thread only; e.g.: LogMgr.setLevel(LogMgr.INFO); LogMgr.setDatabaseLevel(LogMgr.DEBUG); For better performance framework can instead initiate all levels at the same time, e.g.: ThreadLoggers loggers = LogMgr.getThreadLoggers(); loggers.setLevel(LogMgr.INFO); loggers.setDatabaseLevel(LogMgr.DEBUG); loggers.setFrameworkLevel(LogMgr.TRACE); - Application flows will start with obtaining proper logger instances (one or more), e.g.: Logger log = LogMgr.getApplicationLogger(); Logger dblog = LogMgr.getDatabaseLogger(); If possible loggers should be obtained as seldom as possible and stored locally - Now applications can call the logger to log their messages, e.g.: log.error("Error message here..."); if(log.warning) log.warning("Warning message here..."); if(log.info) log.info("Info message here..."); if(log.trace) log.trace("Trace message here..."); if(log.debug) log.debug("Debug message here..."); With exception of error() methods, calls to all other logging methods HAVE TO be preceded by corresponding flag check. - Once a request is finalized, the framework will typically call (e.g. from FndContext): LogMgr.reset(); This method will reset log levels to the default ones and throw away all the pooled instances of loggers if the log level per logger has changed. - During development developers can also create and use own instances of loggers and set wished log level for them, e.g.: Logger log = LogMgr.getApplicationLogger(LogMgr.DEBUG); Such loggers are NOT managed by the manager.Logging levels can be defined in different scope. On VM startup the framework will set up a set of default levels: one per category, but also one global default level in case the corresponding category level is not defined. All these levels are read on start up from property files, if exists, but have also their hard coded values in the code. All the default levels can also be set in the code by calling methods in this class.
This is possible to have different property files defining behaviour of the logging framework. Following files are recognized by the framework: TODO...
Independently of the global levels each thread can define each own set of levels; one global and one per category. Thread specific levels can be set by calling appropriate method as shown in the example above.
On creation an instance of the Logger object is set up with level defined according to the following order:
Once created a Logger instance can not change its running level. But obtaining an instance by calling one of getXLevel() method will automatically recreate the logger if necessary.
Modifier and Type | Class and Description |
---|---|
static class |
LogMgr.Category
Enumeration defining predefined logger categories.
|
static class |
LogMgr.Level
Enumeration defining logging levels (ERROR is always enabled)
|
Modifier and Type | Field and Description |
---|---|
static int |
APPLICATION_LOGGER |
static int |
BATCHPROCESSOR_LOGGER |
static int |
CALLSEQUENCE_LOGGER |
static int |
DATABASE_LOGGER |
static int |
DEBUG |
static int |
ERROR |
static int |
FRAMEWORK_LOGGER |
static int |
GATEWAY_LOGGER |
static int |
INFO |
static int |
INTEGRATION_LOGGER |
static int |
PARENT_LOGGER |
static int |
REQUEST_LOGGER |
static int |
RESPONSE_LOGGER |
static int |
SECURITY_LOGGER |
static int |
TRACE |
static int |
UNDEFINED |
static int |
WARNING |
Constructor and Description |
---|
LogMgr() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
addClassLogger(java.lang.String definition)
Adds class Logger definition on form 'class name=level'.
|
java.lang.String |
addHandlerDefinition(java.lang.String definition)
Adds a new handler according to the definition sent as argument.
|
static void |
clearThreadLoggers()
Clears all logger instances for the current thread.
|
static Logger |
getApplicationLogger()
Returns an instance of the Application Logger.
|
static java.lang.String |
getApplicationName()
Gets the name of the current application.
|
static Logger |
getBatchProcessorLogger()
Returns an instance of the Batch Processor Logger.
|
static Logger |
getCallSequenceLogger()
Returns an instance of the Call Sequence Logger.
|
static Logger |
getClassLogger(java.lang.Class cls)
Returns a logger for the specified class.
|
static Logger |
getDatabaseLogger()
Returns an instance of the Database Logger.
|
java.lang.String |
getDefaultApplicationLevel()
Reads the default level of application loggers.
|
java.lang.String |
getDefaultBatchProcessorLevel()
Reads the default level of Batch Processor loggers.
|
java.lang.String |
getDefaultCallSequenceLevel()
Reads the default level of call sequence loggers.
|
java.lang.String |
getDefaultDatabaseLevel()
Reads the default level of database loggers.
|
java.lang.String |
getDefaultFrameworkLevel()
Reads the default level of framework loggers.
|
java.lang.String |
getDefaultGatewayLevel()
Reads the default level of gateway loggers.
|
java.lang.String |
getDefaultIntegrationLevel()
Reads the default level of integration loggers.
|
java.lang.String |
getDefaultLevel()
Reads the default global level of all loggers.
|
java.lang.String |
getDefaultRequestLevel()
Reads the default level of request loggers.
|
java.lang.String |
getDefaultResponseLevel()
Reads the default level of response loggers.
|
java.lang.String |
getDefaultSecurityLevel()
Reads the default level of security loggers.
|
java.lang.String |
getDefaultTimingsLevel()
Reads the default level of timings loggers.
|
static Logger |
getFrameworkLogger()
Returns an instance of the Framework Logger.
|
static Logger |
getGatewayLogger()
Returns an instance of the Gateway Logger.
|
static Logger |
getIntegrationLogger()
Returns an instance of the Integration Logger.
|
static Logger |
getRequestLogger()
Returns an instance of the Request Logger.
|
static Logger |
getResponseLogger()
Returns an instance of the Response Logger.
|
static Logger |
getSecurityLogger()
Returns an instance of the Security Logger.
|
static ThreadLoggers |
getThreadLoggers()
Returns an instance of a ThreadLoggers class that encapsulates all thread loggers.
|
static TimingsLogger |
getTimingsLogger()
Returns an instance of the Timings Logger.
|
static LogMgr.Level |
parseLogLevel(java.lang.String level)
Converts a string representation of a log level into an enumeration value.
|
java.lang.String |
removeClassLogger(java.lang.String name)
Removes class Logger definition.
|
java.lang.String |
removeHandlerDefinitions(java.lang.String names)
Removes dynamic handlers added using addHandlerDefinition().
|
java.lang.String |
rereadConfigFile()
Forces properties file(s) with logging configuration to be re-read.
|
static void |
reset()
Resets all thread loggers to their default levels.
|
static int |
setApplicationLevel(int level) |
static LogMgr.Level |
setApplicationLevel(LogMgr.Level level)
Sets thread level for Application logger.
|
static void |
setApplicationName(java.lang.String appName)
Sets the name of the current application.
|
static int |
setBatchProcessorLevel(int level) |
static LogMgr.Level |
setBatchProcessorLevel(LogMgr.Level level)
Sets thread level for Batch Processor logger.
|
static int |
setCallSequenceLevel(int level) |
static LogMgr.Level |
setCallSequenceLevel(LogMgr.Level level)
Sets thread level for Call Sequence logger.
|
static int |
setDatabaseLevel(int level) |
static LogMgr.Level |
setDatabaseLevel(LogMgr.Level level)
Sets thread level for Database logger.
|
static int |
setDefaultApplicationLevel(int level) |
static LogMgr.Level |
setDefaultApplicationLevel(LogMgr.Level level)
Sets default level for Application loggers.
|
void |
setDefaultApplicationLevel(java.lang.String level)
Sets the default level for application loggers.
|
static int |
setDefaultBatchProcessorLevel(int level) |
static LogMgr.Level |
setDefaultBatchProcessorLevel(LogMgr.Level level)
Sets default level for Batch Processor loggers.
|
void |
setDefaultBatchProcessorLevel(java.lang.String level)
Sets the default level for Batch Processor loggers.
|
static int |
setDefaultCallSequenceLevel(int level) |
static LogMgr.Level |
setDefaultCallSequenceLevel(LogMgr.Level level)
Sets default level for Call Sequence loggers.
|
void |
setDefaultCallSequenceLevel(java.lang.String level)
Sets the default level for call sequence loggers.
|
static int |
setDefaultDatabaseLevel(int level) |
static LogMgr.Level |
setDefaultDatabaseLevel(LogMgr.Level level)
Sets default level for Database loggers.
|
void |
setDefaultDatabaseLevel(java.lang.String level)
Sets the default level for database loggers.
|
static int |
setDefaultFrameworkLevel(int level) |
static LogMgr.Level |
setDefaultFrameworkLevel(LogMgr.Level level)
Sets default level for Framework loggers.
|
void |
setDefaultFrameworkLevel(java.lang.String level)
Sets the default level for framework loggers.
|
static int |
setDefaultGatewayLevel(int level) |
static LogMgr.Level |
setDefaultGatewayLevel(LogMgr.Level level)
Sets default level for Gateway loggers.
|
void |
setDefaultGatewayLevel(java.lang.String level)
Sets the default level for gateway loggers.
|
static int |
setDefaultIntegrationLevel(int level) |
static LogMgr.Level |
setDefaultIntegrationLevel(LogMgr.Level level)
Sets default level for Integration loggers.
|
void |
setDefaultIntegrationLevel(java.lang.String level)
Sets the default level for integration loggers.
|
static int |
setDefaultLevel(int level) |
static LogMgr.Level |
setDefaultLevel(LogMgr.Level level)
Sets default global level for all loggers.
|
void |
setDefaultLevel(java.lang.String level)
Sets the default global level for all loggers.
|
static int |
setDefaultRequestLevel(int level) |
static LogMgr.Level |
setDefaultRequestLevel(LogMgr.Level level)
Sets default level for Request loggers.
|
void |
setDefaultRequestLevel(java.lang.String level)
Sets the default level for request loggers.
|
static int |
setDefaultResponseLevel(int level) |
static LogMgr.Level |
setDefaultResponseLevel(LogMgr.Level level)
Sets default level for Response loggers.
|
void |
setDefaultResponseLevel(java.lang.String level)
Sets the default level for response loggers.
|
static int |
setDefaultSecurityLevel(int level) |
static LogMgr.Level |
setDefaultSecurityLevel(LogMgr.Level level)
Sets default level for Security loggers.
|
void |
setDefaultSecurityLevel(java.lang.String level)
Sets the default level for security loggers.
|
static LogMgr.Level |
setDefaultTimingsLevel(LogMgr.Level level)
Sets default level for Timings loggers.
|
void |
setDefaultTimingsLevel(java.lang.String level)
Sets the default level for Timings loggers.
|
static int |
setFrameworkLevel(int level) |
static LogMgr.Level |
setFrameworkLevel(LogMgr.Level level)
Sets thread level for Framework logger.
|
static int |
setGatewayLevel(int level) |
static LogMgr.Level |
setGatewayLevel(LogMgr.Level level)
Sets thread level for Gateway logger.
|
static int |
setIntegrationLevel(int level) |
static LogMgr.Level |
setIntegrationLevel(LogMgr.Level level)
Sets thread level for Integration logger.
|
static int |
setLevel(int level) |
static LogMgr.Level |
setLevel(LogMgr.Level level)
Sets thread level for all loggers.
|
static int |
setRequestLevel(int level) |
static LogMgr.Level |
setRequestLevel(LogMgr.Level level)
Sets thread level for Request logger.
|
static int |
setResponseLevel(int level) |
static LogMgr.Level |
setResponseLevel(LogMgr.Level level)
Sets thread level for Response logger.
|
static int |
setSecurityLevel(int level) |
static LogMgr.Level |
setSecurityLevel(LogMgr.Level level)
Sets thread level for Security logger.
|
static LogMgr.Level |
setTimingsLevel(LogMgr.Level level)
Sets thread level for Timings logger.
|
static int |
translateLogLevel(java.lang.String level) |
public static final int UNDEFINED
public static final int ERROR
public static final int WARNING
public static final int INFO
public static final int TRACE
public static final int DEBUG
public static final int PARENT_LOGGER
public static final int DATABASE_LOGGER
public static final int APPLICATION_LOGGER
public static final int FRAMEWORK_LOGGER
public static final int GATEWAY_LOGGER
public static final int CALLSEQUENCE_LOGGER
public static final int REQUEST_LOGGER
public static final int RESPONSE_LOGGER
public static final int SECURITY_LOGGER
public static final int INTEGRATION_LOGGER
public static final int BATCHPROCESSOR_LOGGER
public static void setApplicationName(java.lang.String appName)
appName
- string that will be used to tag all log messagespublic static java.lang.String getApplicationName()
setApplicationName(java.lang.String)
public static LogMgr.Level setDefaultLevel(LogMgr.Level level)
level
- public static int setDefaultLevel(int level)
public static LogMgr.Level setDefaultDatabaseLevel(LogMgr.Level level)
level
- public static int setDefaultDatabaseLevel(int level)
public static LogMgr.Level setDefaultApplicationLevel(LogMgr.Level level)
level
- public static int setDefaultApplicationLevel(int level)
public static LogMgr.Level setDefaultFrameworkLevel(LogMgr.Level level)
level
- public static int setDefaultFrameworkLevel(int level)
public static LogMgr.Level setDefaultGatewayLevel(LogMgr.Level level)
level
- public static int setDefaultGatewayLevel(int level)
public static LogMgr.Level setDefaultCallSequenceLevel(LogMgr.Level level)
level
- public static int setDefaultCallSequenceLevel(int level)
public static LogMgr.Level setDefaultRequestLevel(LogMgr.Level level)
level
- public static int setDefaultRequestLevel(int level)
public static LogMgr.Level setDefaultResponseLevel(LogMgr.Level level)
level
- public static int setDefaultResponseLevel(int level)
public static LogMgr.Level setDefaultSecurityLevel(LogMgr.Level level)
level
- public static int setDefaultSecurityLevel(int level)
public static LogMgr.Level setDefaultIntegrationLevel(LogMgr.Level level)
level
- public static int setDefaultIntegrationLevel(int level)
public static LogMgr.Level setDefaultBatchProcessorLevel(LogMgr.Level level)
level
- public static int setDefaultBatchProcessorLevel(int level)
public static LogMgr.Level setDefaultTimingsLevel(LogMgr.Level level)
level
- public static LogMgr.Level setLevel(LogMgr.Level level)
level.
- public static int setLevel(int level)
public static LogMgr.Level setDatabaseLevel(LogMgr.Level level)
level
- public static int setDatabaseLevel(int level)
public static LogMgr.Level setApplicationLevel(LogMgr.Level level)
level
- public static int setApplicationLevel(int level)
public static LogMgr.Level setFrameworkLevel(LogMgr.Level level)
level
- public static int setFrameworkLevel(int level)
public static LogMgr.Level setGatewayLevel(LogMgr.Level level)
level
- public static int setGatewayLevel(int level)
public static LogMgr.Level setCallSequenceLevel(LogMgr.Level level)
level
- public static int setCallSequenceLevel(int level)
public static LogMgr.Level setRequestLevel(LogMgr.Level level)
level
- public static int setRequestLevel(int level)
public static LogMgr.Level setResponseLevel(LogMgr.Level level)
level
- public static int setResponseLevel(int level)
public static LogMgr.Level setSecurityLevel(LogMgr.Level level)
level
- public static int setSecurityLevel(int level)
public static LogMgr.Level setIntegrationLevel(LogMgr.Level level)
level
- public static int setIntegrationLevel(int level)
public static LogMgr.Level setBatchProcessorLevel(LogMgr.Level level)
level
- public static int setBatchProcessorLevel(int level)
public static LogMgr.Level setTimingsLevel(LogMgr.Level level)
level
- public static void reset()
public static void clearThreadLoggers()
public static Logger getDatabaseLogger()
public static Logger getApplicationLogger()
public static Logger getFrameworkLogger()
public static Logger getGatewayLogger()
public static Logger getCallSequenceLogger()
public static Logger getRequestLogger()
public static Logger getResponseLogger()
public static Logger getSecurityLogger()
public static Logger getIntegrationLogger()
public static Logger getBatchProcessorLogger()
public static TimingsLogger getTimingsLogger()
public static Logger getClassLogger(java.lang.Class cls)
cls
- public java.lang.String getDefaultLevel()
getDefaultLevel
in interface LogMgrMBean
public void setDefaultLevel(java.lang.String level)
setDefaultLevel
in interface LogMgrMBean
level
- New default global logging level. If invalid, level will be set to UNDEFINED.public java.lang.String getDefaultFrameworkLevel()
getDefaultFrameworkLevel
in interface LogMgrMBean
public void setDefaultFrameworkLevel(java.lang.String level)
setDefaultFrameworkLevel
in interface LogMgrMBean
level
- New default logging level. If invalid, level will be set to UNDEFINED.public java.lang.String getDefaultGatewayLevel()
getDefaultGatewayLevel
in interface LogMgrMBean
public void setDefaultGatewayLevel(java.lang.String level)
setDefaultGatewayLevel
in interface LogMgrMBean
level
- New default logging level. If invalid, level will be set to UNDEFINED.public java.lang.String getDefaultIntegrationLevel()
getDefaultIntegrationLevel
in interface LogMgrMBean
public void setDefaultIntegrationLevel(java.lang.String level)
setDefaultIntegrationLevel
in interface LogMgrMBean
level
- New default logging level. If invalid, level will be set to UNDEFINED.public java.lang.String getDefaultBatchProcessorLevel()
getDefaultBatchProcessorLevel
in interface LogMgrMBean
public void setDefaultBatchProcessorLevel(java.lang.String level)
setDefaultBatchProcessorLevel
in interface LogMgrMBean
level
- New default logging level. If invalid, level will be set to UNDEFINED.public java.lang.String getDefaultCallSequenceLevel()
getDefaultCallSequenceLevel
in interface LogMgrMBean
public void setDefaultCallSequenceLevel(java.lang.String level)
setDefaultCallSequenceLevel
in interface LogMgrMBean
level
- New default logging level. If invalid, level will be set to UNDEFINED.public java.lang.String getDefaultApplicationLevel()
getDefaultApplicationLevel
in interface LogMgrMBean
public void setDefaultApplicationLevel(java.lang.String level)
setDefaultApplicationLevel
in interface LogMgrMBean
level
- New default logging level. If invalid, level will be set to UNDEFINED.public java.lang.String getDefaultDatabaseLevel()
getDefaultDatabaseLevel
in interface LogMgrMBean
public void setDefaultDatabaseLevel(java.lang.String level)
setDefaultDatabaseLevel
in interface LogMgrMBean
level
- New default logging level. If invalid, level will be set to UNDEFINED.public java.lang.String getDefaultRequestLevel()
getDefaultRequestLevel
in interface LogMgrMBean
public void setDefaultRequestLevel(java.lang.String level)
setDefaultRequestLevel
in interface LogMgrMBean
level
- New default logging level. If invalid, level will be set to UNDEFINED.public java.lang.String getDefaultResponseLevel()
getDefaultResponseLevel
in interface LogMgrMBean
public void setDefaultResponseLevel(java.lang.String level)
setDefaultResponseLevel
in interface LogMgrMBean
level
- New default logging level. If invalid, level will be set to UNDEFINED.public java.lang.String getDefaultSecurityLevel()
getDefaultSecurityLevel
in interface LogMgrMBean
public void setDefaultSecurityLevel(java.lang.String level)
setDefaultSecurityLevel
in interface LogMgrMBean
level
- New default logging level. If invalid, level will be set to UNDEFINED.public java.lang.String getDefaultTimingsLevel()
getDefaultTimingsLevel
in interface LogMgrMBean
public void setDefaultTimingsLevel(java.lang.String level)
setDefaultTimingsLevel
in interface LogMgrMBean
level
- New default logging level. If invalid, level will be set to UNDEFINED.public java.lang.String addClassLogger(java.lang.String definition)
addClassLogger
in interface LogMgrMBean
definition
- Class Logger definition to addpublic java.lang.String removeClassLogger(java.lang.String name)
removeClassLogger
in interface LogMgrMBean
name
- class name for Logger that should be removedpublic java.lang.String addHandlerDefinition(java.lang.String definition)
addHandlerDefinition
in interface LogMgrMBean
definition
- handler definitionLoggerConfig
public java.lang.String removeHandlerDefinitions(java.lang.String names)
removeHandlerDefinitions
in interface LogMgrMBean
names
- comma separated list of handlers that are supposed to be removedpublic java.lang.String rereadConfigFile()
rereadConfigFile
in interface LogMgrMBean
LoggerConfig
public static LogMgr.Level parseLogLevel(java.lang.String level)
level
- string representation of a log levelpublic static int translateLogLevel(java.lang.String level)
public static ThreadLoggers getThreadLoggers()