Package org.apache.ignite.logger.log4j2
Class Log4J2Logger
- java.lang.Object
-
- org.apache.ignite.logger.log4j2.Log4J2Logger
-
- All Implemented Interfaces:
IgniteLogger
,org.apache.ignite.internal.logger.IgniteLoggerEx
public class Log4J2Logger extends Object implements org.apache.ignite.internal.logger.IgniteLoggerEx
Log4j2-based implementation for logging. This logger should be used by loaders that have prefer log4j2-based logging.Here is a typical example of configuring log4j2 logger in Ignite configuration file:
<property name="gridLogger"> <bean class="org.apache.ignite.logger.log4j2.Log4J2Logger"> <constructor-arg type="java.lang.String" value="config/ignite-log4j.xml"/> </bean> </property>
and from your code:IgniteConfiguration cfg = new IgniteConfiguration(); ... URL xml = U.resolveIgniteUrl("config/custom-log4j2.xml"); IgniteLogger log = new Log4J2Logger(xml); ... cfg.setGridLogger(log);
Please take a look at Apache Log4j 2 for additional information.It's recommended to use Ignite logger injection instead of using/instantiating logger in your task/job code. See
LoggerResource
annotation about logger injection.
-
-
Field Summary
-
Fields inherited from interface org.apache.ignite.IgniteLogger
DEV_ONLY
-
-
Constructor Summary
Constructors Constructor Description Log4J2Logger()
Creates new logger and automatically detects if root logger already has appenders configured.Log4J2Logger(File cfgFile)
Creates new logger with given configurationcfgFile
.Log4J2Logger(String path)
Creates new logger with given configurationpath
.Log4J2Logger(URL cfgUrl)
Creates new logger with given configurationcfgUrl
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addConsoleAppender(boolean clearOutput)
Adds console appender to the logger.org.apache.logging.log4j.Logger
configureConsoleAppender(boolean clearOutput)
Creates console appender with some reasonable default logging settings.void
debug(@Nullable String marker, String msg)
Logs out debug message.void
debug(String msg)
Logs out debug message.void
error(@Nullable String marker, String msg, @Nullable Throwable e)
Logs error message with optional exception.void
error(String msg, @Nullable Throwable e)
Logs error message with optional exception.@Nullable String
fileName()
Gets name of the file being logged to if one is configured ornull
otherwise.void
flush()
Flush any buffered output.Log4J2Logger
getLogger(Object ctgr)
GetsIgniteLogger
wrapper around log4j logger for the given category.void
info(@Nullable String marker, String msg)
Logs out information message.void
info(String msg)
Logs out information message.static boolean
isConfigured()
Checks if Log4j is already configured within this VM or not.boolean
isDebugEnabled()
Tests whetherdebug
level is enabled.boolean
isInfoEnabled()
Tests whetherinfo
level is enabled.boolean
isQuiet()
Tests whether Logger is in "Quiet mode".boolean
isTraceEnabled()
Tests whethertrace
level is enabled.void
setApplicationAndNode(@Nullable String application, @Nullable UUID nodeId)
Sets application name and node ID.String
toString()
void
trace(@Nullable String marker, String msg)
Logs out trace message.void
trace(String msg)
Logs out trace message.void
warning(@Nullable String marker, String msg, @Nullable Throwable e)
Logs out warning message with optional exception.void
warning(String msg, @Nullable Throwable e)
Logs out warning message with optional exception.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.ignite.IgniteLogger
error, warning
-
-
-
-
Constructor Detail
-
Log4J2Logger
public Log4J2Logger()
Creates new logger and automatically detects if root logger already has appenders configured. If it does not, the root logger will be configured with default appender, otherwise, existing appenders will be used.
-
Log4J2Logger
public Log4J2Logger(String path) throws IgniteCheckedException
Creates new logger with given configurationpath
.- Parameters:
path
- Path to log4j2 configuration XML file.- Throws:
IgniteCheckedException
- Thrown in case logger can't be created.
-
Log4J2Logger
public Log4J2Logger(File cfgFile) throws IgniteCheckedException
Creates new logger with given configurationcfgFile
.- Parameters:
cfgFile
- Log4j configuration XML file.- Throws:
IgniteCheckedException
- Thrown in case logger can't be created.
-
Log4J2Logger
public Log4J2Logger(URL cfgUrl) throws IgniteCheckedException
Creates new logger with given configurationcfgUrl
.- Parameters:
cfgUrl
- URL for Log4j configuration XML file.- Throws:
IgniteCheckedException
- Thrown in case logger can't be created.
-
-
Method Detail
-
fileName
@Nullable public @Nullable String fileName()
Gets name of the file being logged to if one is configured ornull
otherwise.- Specified by:
fileName
in interfaceIgniteLogger
- Returns:
- Name of the file being logged to if one is configured or
null
otherwise.
-
addConsoleAppender
public void addConsoleAppender(boolean clearOutput)
Adds console appender to the logger.- Specified by:
addConsoleAppender
in interfaceorg.apache.ignite.internal.logger.IgniteLoggerEx
- Parameters:
clearOutput
- Iftrue
then console output must be configured without any additional info like time, message level, thread info, etc.
-
flush
public void flush()
Flush any buffered output.- Specified by:
flush
in interfaceorg.apache.ignite.internal.logger.IgniteLoggerEx
-
configureConsoleAppender
public org.apache.logging.log4j.Logger configureConsoleAppender(boolean clearOutput)
Creates console appender with some reasonable default logging settings.- Parameters:
clearOutput
- Iftrue
then console output must be configured without any additional info like time, message level, thread info, etc.- Returns:
- Logger with auto configured console appender.
-
isConfigured
public static boolean isConfigured()
Checks if Log4j is already configured within this VM or not.- Returns:
True
if log4j was already configured,false
otherwise.
-
setApplicationAndNode
public void setApplicationAndNode(@Nullable @Nullable String application, @Nullable @Nullable UUID nodeId)
Sets application name and node ID.- Specified by:
setApplicationAndNode
in interfaceorg.apache.ignite.internal.logger.IgniteLoggerEx
- Parameters:
application
- Application.nodeId
- Node ID.
-
getLogger
public Log4J2Logger getLogger(Object ctgr)
GetsIgniteLogger
wrapper around log4j logger for the given category. If category isnull
, then root logger is returned. If category is an instance ofClass
then(Class)ctgr).getName()
is used as category name.- Specified by:
getLogger
in interfaceIgniteLogger
- Parameters:
ctgr
- Category for new logger.- Returns:
IgniteLogger
wrapper around log4j logger.
-
trace
public void trace(String msg)
Logs out trace message.- Specified by:
trace
in interfaceIgniteLogger
- Parameters:
msg
- Trace message.
-
trace
public void trace(@Nullable @Nullable String marker, String msg)
Logs out trace message. The default implementation callsthis.trace(msg)
.- Specified by:
trace
in interfaceIgniteLogger
- Parameters:
marker
- Name of the marker to be associated with the message.msg
- Trace message.
-
debug
public void debug(String msg)
Logs out debug message.- Specified by:
debug
in interfaceIgniteLogger
- Parameters:
msg
- Debug message.
-
debug
public void debug(@Nullable @Nullable String marker, String msg)
Logs out debug message. The default implementation callsthis.debug(msg)
.- Specified by:
debug
in interfaceIgniteLogger
- Parameters:
marker
- Name of the marker to be associated with the message.msg
- Debug message.
-
info
public void info(String msg)
Logs out information message.- Specified by:
info
in interfaceIgniteLogger
- Parameters:
msg
- Information message.
-
info
public void info(@Nullable @Nullable String marker, String msg)
Logs out information message. The default implementation callsthis.info(msg)
.- Specified by:
info
in interfaceIgniteLogger
- Parameters:
marker
- Name of the marker to be associated with the message.msg
- Information message.
-
warning
public void warning(String msg, @Nullable @Nullable Throwable e)
Logs out warning message with optional exception.- Specified by:
warning
in interfaceIgniteLogger
- Parameters:
msg
- Warning message.e
- Optional exception (can benull
).
-
warning
public void warning(@Nullable @Nullable String marker, String msg, @Nullable @Nullable Throwable e)
Logs out warning message with optional exception. The default implementation callsthis.warning(msg)
.- Specified by:
warning
in interfaceIgniteLogger
- Parameters:
marker
- Name of the marker to be associated with the message.msg
- Warning message.e
- Optional exception (can benull
).
-
error
public void error(String msg, @Nullable @Nullable Throwable e)
Logs error message with optional exception.- Specified by:
error
in interfaceIgniteLogger
- Parameters:
msg
- Error message.e
- Optional exception (can benull
).
-
error
public void error(@Nullable @Nullable String marker, String msg, @Nullable @Nullable Throwable e)
Logs error message with optional exception. The default implementation callsthis.error(msg)
.- Specified by:
error
in interfaceIgniteLogger
- Parameters:
marker
- Name of the marker to be associated with the message.msg
- Error message.e
- Optional exception (can benull
).
-
isTraceEnabled
public boolean isTraceEnabled()
Tests whethertrace
level is enabled.- Specified by:
isTraceEnabled
in interfaceIgniteLogger
- Returns:
true
in case whentrace
level is enabled,false
otherwise.
-
isDebugEnabled
public boolean isDebugEnabled()
Tests whetherdebug
level is enabled.- Specified by:
isDebugEnabled
in interfaceIgniteLogger
- Returns:
true
in case whendebug
level is enabled,false
otherwise.
-
isInfoEnabled
public boolean isInfoEnabled()
Tests whetherinfo
level is enabled.- Specified by:
isInfoEnabled
in interfaceIgniteLogger
- Returns:
true
in case wheninfo
level is enabled,false
otherwise.
-
isQuiet
public boolean isQuiet()
Tests whether Logger is in "Quiet mode".- Specified by:
isQuiet
in interfaceIgniteLogger
- Returns:
true
"Quiet mode" is enabled,false
otherwise
-
-