Package org.camunda.commons.logging
Class BaseLogger
- java.lang.Object
-
- org.camunda.commons.logging.BaseLogger
-
public abstract class BaseLogger extends java.lang.ObjectBase class for implementing a logger class. A logger class is a class with dedicated methods for each log message:public class MyLogger extends BaseLogger { public static MyLogger LOG = createLogger(MyLogger.class, "MYPROJ", "org.example", "01"); public void engineStarted(long currentTime) { logInfo("100", "My super engine has started at '{}'", currentTime); } }The logger can then be used in the following way:LOG.engineStarted(System.currentTimeMilliseconds());
This will print the following message:INFO org.example - MYPROJ-01100 My super engine has started at '4234234523'
Slf4j
This class uses slf4j as logging API. The class ensures that log messages and exception messages are always formatted using the same template.Log message format
The log message format produced by this class is as follows:[PROJECT_CODE]-[COMPONENT_ID][MESSAGE_ID] message
Example:MYPROJ-01100 My super engine has started at '4234234523'
- Author:
- Daniel Meyer, Sebastian Menski
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringcomponentIdthe component Id of the logger.protected org.slf4j.LoggerdelegateLoggerthe slf4j logger we delegate toprotected java.lang.StringprojectCodethe project code of the logger
-
Constructor Summary
Constructors Modifier Constructor Description protectedBaseLogger()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T extends BaseLogger>
TcreateLogger(java.lang.Class<T> loggerClass, java.lang.String projectCode, java.lang.String name, java.lang.String componentId)Creates a new instance of theLogger.protected java.lang.StringexceptionMessage(java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Prepares an exception messageprotected java.lang.StringformatMessageTemplate(java.lang.String id, java.lang.String messageTemplate)Formats a message templatebooleanisDebugEnabled()booleanisErrorEnabled()booleanisInfoEnabled()booleanisWarnEnabled()protected voidlog(java.lang.String level, java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs a message with the specified log level.protected voidlog(java.lang.String level, Level defaultLevel, java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs a message with the specified log level.protected voidlogDebug(java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs a 'DEBUG' messageprotected voidlogError(java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs an 'ERROR' messageprotected voidlogInfo(java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs an 'INFO' messageprotected voidlogTrace(java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs a 'TRACE' messageprotected voidlogWarn(java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs an 'WARN' message
-
-
-
Method Detail
-
createLogger
public static <T extends BaseLogger> T createLogger(java.lang.Class<T> loggerClass, java.lang.String projectCode, java.lang.String name, java.lang.String componentId)
Creates a new instance of theLogger.- Parameters:
loggerClass- the type of the loggerprojectCode- the unique code for a complete project.name- the name of the slf4j logger to use.componentId- the unique id of the component.
-
log
protected void log(java.lang.String level, java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs a message with the specified log level. If the log level cannot be matched, it defaults to DEBUG.- Parameters:
level- the log levelid- the unique id of this log messagemessageTemplate- the message template to useparameters- a list of optional parameters
-
log
protected void log(java.lang.String level, Level defaultLevel, java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs a message with the specified log level.- Parameters:
level- the log leveldefaultLevel- the default log level to use when log level cannot be matchedid- the unique id of this log messagemessageTemplate- the message template to useparameters- a list of optional parameters
-
logTrace
protected void logTrace(java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs a 'TRACE' message- Parameters:
id- the unique id of this log messagemessageTemplate- the message template to useparameters- a list of optional parameters
-
logDebug
protected void logDebug(java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs a 'DEBUG' message- Parameters:
id- the unique id of this log messagemessageTemplate- the message template to useparameters- a list of optional parameters
-
logInfo
protected void logInfo(java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs an 'INFO' message- Parameters:
id- the unique id of this log messagemessageTemplate- the message template to useparameters- a list of optional parameters
-
logWarn
protected void logWarn(java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs an 'WARN' message- Parameters:
id- the unique id of this log messagemessageTemplate- the message template to useparameters- a list of optional parameters
-
logError
protected void logError(java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Logs an 'ERROR' message- Parameters:
id- the unique id of this log messagemessageTemplate- the message template to useparameters- a list of optional parameters
-
isDebugEnabled
public boolean isDebugEnabled()
- Returns:
- true if the logger will log 'DEBUG' messages
-
isInfoEnabled
public boolean isInfoEnabled()
- Returns:
- true if the logger will log 'INFO' messages
-
isWarnEnabled
public boolean isWarnEnabled()
- Returns:
- true if the logger will log 'WARN' messages
-
isErrorEnabled
public boolean isErrorEnabled()
- Returns:
- true if the logger will log 'ERROR' messages
-
formatMessageTemplate
protected java.lang.String formatMessageTemplate(java.lang.String id, java.lang.String messageTemplate)Formats a message template- Parameters:
id- the id of the messagemessageTemplate- the message template to use- Returns:
- the formatted template
-
exceptionMessage
protected java.lang.String exceptionMessage(java.lang.String id, java.lang.String messageTemplate, java.lang.Object... parameters)Prepares an exception message- Parameters:
id- the id of the messagemessageTemplate- the message template to useparameters- the parameters for the message (optional)- Returns:
- the prepared exception message
-
-