- All Superinterfaces:
LogDecorator
,LogPriorityAccessor
,MessageLogger<LogPriority>
,org.refcodes.mixin.NameAccessor
- All Known Implementing Classes:
RuntimeLoggerImpl
,RuntimeLoggerSingleton
public interface RuntimeLogger
extends MessageLogger<LogPriority>, LogPriorityAccessor, org.refcodes.mixin.NameAccessor, LogDecorator
Plain simple interface for logging out runtime information generated by
software systems. The
RuntimeLogger
defines a
plain simple interface for logging out runtime information generated by
software systems. The RuntimeLoggerImpl
implementation takes care of logging out the class and the method generating
a log line. The RuntimeLoggerImpl
actually takes
a Logger
instance; which implementation to take
is up to you:
- SystemLogger
- AsyncLogger
- ConsoleLogger (ConsoleLogger)
- IoLogger
- SimpleDbLoggerImpl
- SimpleDbLoggerImpl
- Slf4jLogger
Logger
implementations in
the refcodes-logger-alt artifact's modules) Use the factory (the factory is
implemented as a singleton)
RuntimeLoggerFactorySingleton
retrieving
RuntimeLogger
instances configured by a
"runtimelogge.ini
" file using the ApplicationProperties
as
well as the PolyglotProperties
. This means you can use YAML, TOML,
INI, PROPERTIES, XML or JSON notations. A SLF4J binding exists in the
refcodes-logger-ext-slf4j" artifact which binds the refcodes-logger framework
to SLF4J enabling to log all your SLF4J logs out by the refcodes-logger
framework, e.g. to a SimpleDbLoggerImpl. The
RuntimeLogger
may also be configured with one of
the below mentioned loggers.- Author:
- steiner
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.refcodes.logger.LogPriorityAccessor
LogPriorityAccessor.LogPriorityMutator, LogPriorityAccessor.LogPriorityProperty
Nested classes/interfaces inherited from interface org.refcodes.mixin.NameAccessor
org.refcodes.mixin.NameAccessor.NameBuilder<B extends org.refcodes.mixin.NameAccessor.NameBuilder<B>>, org.refcodes.mixin.NameAccessor.NameMutator, org.refcodes.mixin.NameAccessor.NameProperty
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Logs a log aMessage with log priorityLogPriority.ALERT
.void
Logs a log aMessage with log priorityLogPriority.ALERT
.void
Logs a log aMessage with log priorityLogPriority.ALERT
.void
Logs a log aMessage with log priorityLogPriority.ALERT
.void
Logs a log aMessage with log priorityLogPriority.CRITICAL
.void
Logs a log aMessage with log priorityLogPriority.CRITICAL
.void
Logs a log aMessage with log priorityLogPriority.CRITICAL
.void
Logs a log aMessage with log priorityLogPriority.CRITICAL
.void
Logs a log aMessage with log priorityLogPriority.DEBUG
.void
Logs a log aMessage with log priorityLogPriority.DEBUG
.void
Logs a log aMessage with log priorityLogPriority.ERROR
.void
Logs a log aMessage with log priorityLogPriority.ERROR
.void
Logs a log aMessage with log priorityLogPriority.ERROR
.void
Logs a log aMessage with log priorityLogPriority.ERROR
.void
Logs a log aMessage with log priorityLogPriority.INFO
.void
Logs a log aMessage with log priorityLogPriority.INFO
.boolean
isLog
(LogPriority aPriority) Determines whether theRuntimeLogger
is being configured to log messages of the accordingLogPriority
.boolean
Determines whether theRuntimeLogger
is being configured to log fatal messages (LogPriority.ALERT
).boolean
Determines whether theRuntimeLogger
is being configured to log fatal messages (LogPriority.CRITICAL
).boolean
Determines whether theRuntimeLogger
is being configured to log debug messages (LogPriority.DEBUG
).boolean
Determines whether theRuntimeLogger
is being configured to log errors (LogPriority.ERROR
).boolean
Determines whether theRuntimeLogger
is being configured to log infos (LogPriority.INFO
).boolean
Determines whether theRuntimeLogger
is being configured to log notices (LogPriority.NOTICE
).boolean
Determines whether theRuntimeLogger
is being configured to log fatal messages (LogPriority.PANIC
).boolean
Determines whether theRuntimeLogger
is being configured to log comments (LogPriority.TRACE
).boolean
Determines whether theRuntimeLogger
is being configured to log warnings (LogPriority.WARN
).default void
Logs aLogRecord
from the JUL logging framework.void
log
(LogPriority aPriority, String aMessage, Throwable aThrowable) Creates a new log aMessage.void
log
(LogPriority aPriority, String aMessage, Throwable aThrowable, Object... aArguments) Creates a new log aMessage.void
Logs a log aMessage with log priorityLogPriority.NOTICE
.void
Logs a log aMessage with log priorityLogPriority.NOTICE
.void
Logs a log aMessage with log priorityLogPriority.PANIC
.void
Logs a log aMessage with log priorityLogPriority.PANIC
.void
Logs a log aMessage with log priorityLogPriority.PANIC
.void
Logs a log aMessage with log priorityLogPriority.PANIC
.void
Logs a log aMessage with log priorityLogPriority.TRACE
.void
Logs a log aMessage with log priorityLogPriority.TRACE
.void
Logs a log aMessage with log priorityLogPriority.WARN
.void
Logs a log aMessage with log priorityLogPriority.WARN
.void
Logs a log aMessage with log priorityLogPriority.WARN
.void
Logs a log aMessage with log priorityLogPriority.WARN
.Methods inherited from interface org.refcodes.logger.LogDecorator
printHead, printSeparator, printTail
Methods inherited from interface org.refcodes.logger.LogPriorityAccessor
getLogPriority
Methods inherited from interface org.refcodes.logger.MessageLogger
log, log
Methods inherited from interface org.refcodes.mixin.NameAccessor
getName
-
Field Details
-
RUNTIME_LOGGER_CONFIG
The filename of the file on the classpath containing the config for the runtime logger.- See Also:
-
ROOT_LOGGER_ELEMENT_PATH
The root logger is identified by this XML element path.- See Also:
-
-
Method Details
-
log
Creates a new log aMessage.- Parameters:
aPriority
- The level of the aMessage.aMessage
- The aMessage to be logged.aThrowable
- An exception that the aMessage should contain.
-
log
Creates a new log aMessage. The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y.- Parameters:
aPriority
- The level of the aMessage.aMessage
- The aMessage to be logged.aThrowable
- An exception that the aMessage should contain.aArguments
- The arguments used when replacing the placeholders.
-
isLog
Determines whether theRuntimeLogger
is being configured to log messages of the accordingLogPriority
. This method is useful to prevent the generation of vast amounts of log aMessageString
objects (and according processing) for the accordingLogPriority
in case them messages of thatLogPriority
are not logged at all.- Parameters:
aPriority
- TheLogPriority
to test whether theRuntimeLogger
does log messages of thatLogPriority
.- Returns:
- True in case the
RuntimeLogger
does log messages of thatLogPriority
.
-
trace
Logs a log aMessage with log priorityLogPriority.TRACE
.- Parameters:
aMessage
- The aMessage to be logged.
-
trace
Logs a log aMessage with log priorityLogPriority.TRACE
. The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y.- Parameters:
aMessage
- The aMessage to be logged.aArguments
- The arguments used when replacing the placeholders.
-
isLogTrace
boolean isLogTrace()Determines whether theRuntimeLogger
is being configured to log comments (LogPriority.TRACE
). This method is useful to prevent the generation of vast amounts of log aMessageString
objects (and according processing) for the accordingLogPriority
in case them messages of thatLogPriority
are not logged at all.- Returns:
- True in case comments are logged.
-
debug
Logs a log aMessage with log priorityLogPriority.DEBUG
. "Info useful to developers for debugging the application, not useful during operations." See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.
-
debug
Logs a log aMessage with log priorityLogPriority.DEBUG
. "Info useful to developers for debugging the application, not useful during operations." The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aArguments
- The arguments used when replacing the placeholders.
-
isLogDebug
boolean isLogDebug()Determines whether theRuntimeLogger
is being configured to log debug messages (LogPriority.DEBUG
). This method is useful to prevent the generation of vast amounts of log aMessageString
objects (and according processing) for the accordingLogPriority
in case them messages of thatLogPriority
are not logged at all.- Returns:
- True in case debug messages are logged.
-
info
Logs a log aMessage with log priorityLogPriority.INFO
. "Additional information which might be useful for some stability period." See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.
-
info
Logs a log aMessage with log priorityLogPriority.INFO
. "Additional information which might be useful for some stability period." The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aArguments
- The arguments used when replacing the placeholders.
-
isLogInfo
boolean isLogInfo()Determines whether theRuntimeLogger
is being configured to log infos (LogPriority.INFO
). This method is useful to prevent the generation of vast amounts of log aMessageString
objects (and according processing) for the accordingLogPriority
in case them messages of thatLogPriority
are not logged at all.- Returns:
- True in case infos are logged.
-
notice
Logs a log aMessage with log priorityLogPriority.NOTICE
. "Events that are unusual but not error conditions - might be summarized in an email to developers or admins to spot potential problems - no immediate action required." See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.
-
notice
Logs a log aMessage with log priorityLogPriority.NOTICE
. "Events that are unusual but not error conditions - might be summarized in an email to developers or admins to spot potential problems - no immediate action required." The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aArguments
- The arguments used when replacing the placeholders.
-
isLogNotice
boolean isLogNotice()Determines whether theRuntimeLogger
is being configured to log notices (LogPriority.NOTICE
). This method is useful to prevent the generation of vast amounts of log aMessageString
objects (and according processing) for the accordingLogPriority
in case them messages of thatLogPriority
are not logged at all.- Returns:
- True in case infos are logged.
-
warn
Logs a log aMessage with log priorityLogPriority.WARN
. "Warning messages, not an error, but indication that an error will occur if action is not taken, e.g. file system 85% full - each item must be resolved within a given time." See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.
-
warn
Logs a log aMessage with log priorityLogPriority.WARN
. "Warning messages, not an error, but indication that an error will occur if action is not taken, e.g. file system 85% full - each item must be resolved within a given time." The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aArguments
- The arguments used when replacing the placeholders.
-
warn
Logs a log aMessage with log priorityLogPriority.WARN
. "Warning messages, not an error, but indication that an error will occur if action is not taken, e.g. file system 85% full - each item must be resolved within a given time." See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aThrowable
- An exception that the aMessage should contain.
-
warn
Logs a log aMessage with log priorityLogPriority.WARN
. "Warning messages, not an error, but indication that an error will occur if action is not taken, e.g. file system 85% full - each item must be resolved within a given time." The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aThrowable
- An exception that the aMessage should contain.aArguments
- The arguments used when replacing the placeholders.
-
isLogWarn
boolean isLogWarn()Determines whether theRuntimeLogger
is being configured to log warnings (LogPriority.WARN
). This method is useful to prevent the generation of vast amounts of log aMessageString
objects (and according processing) for the accordingLogPriority
in case them messages of thatLogPriority
are not logged at all.- Returns:
- True in case warnings are logged.
-
error
Logs a log aMessage with log priorityLogPriority.ERROR
. "Non-urgent failures, these should be relayed to developers or admins; each item must be resolved within a given time." See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.
-
error
Logs a log aMessage with log priorityLogPriority.ERROR
. "Non-urgent failures, these should be relayed to developers or admins; each item must be resolved within a given time." The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aArguments
- The arguments used when replacing the placeholders.
-
error
Logs a log aMessage with log priorityLogPriority.ERROR
. "Non-urgent failures, these should be relayed to developers or admins; each item must be resolved within a given time." See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aThrowable
- An exception that the aMessage should contain.
-
error
Logs a log aMessage with log priorityLogPriority.ERROR
. "Non-urgent failures, these should be relayed to developers or admins; each item must be resolved within a given time." The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aThrowable
- An exception that the aMessage should contain.aArguments
- The arguments used when replacing the placeholders.
-
isLogError
boolean isLogError()Determines whether theRuntimeLogger
is being configured to log errors (LogPriority.ERROR
). This method is useful to prevent the generation of vast amounts of log aMessageString
objects (and according processing) for the accordingLogPriority
in case them messages of thatLogPriority
are not logged at all.- Returns:
- True in case errors are logged.
-
critical
Logs a log aMessage with log priorityLogPriority.CRITICAL
. "Should be corrected immediately, but indicates failure in a secondary system, an example is a loss of a backup ISP connection." See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.
-
critical
Logs a log aMessage with log priorityLogPriority.CRITICAL
. "Should be corrected immediately, but indicates failure in a secondary system, an example is a loss of a backup ISP connection." The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aArguments
- The arguments used when replacing the placeholders.
-
critical
Logs a log aMessage with log priorityLogPriority.CRITICAL
. "Should be corrected immediately, but indicates failure in a secondary system, an example is a loss of a backup ISP connection." See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aThrowable
- An exception that the aMessage should contain.
-
critical
Logs a log aMessage with log priorityLogPriority.CRITICAL
. "Should be corrected immediately, but indicates failure in a secondary system, an example is a loss of a backup ISP connection." See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aThrowable
- An exception that the aMessage should contain.aArguments
- The arguments used when replacing the placeholders.
-
isLogCritical
boolean isLogCritical()Determines whether theRuntimeLogger
is being configured to log fatal messages (LogPriority.CRITICAL
). This method is useful to prevent the generation of vast amounts of log aMessageString
objects (and according processing) for the accordingLogPriority
in case them messages of thatLogPriority
are not logged at all.- Returns:
- True in case fatal messages are logged.
-
alert
Logs a log aMessage with log priorityLogPriority.ALERT
. "Should be corrected immediately, therefore notify staff who can fix the problem. An example would be the loss of a primary ISP connection." See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.
-
alert
Logs a log aMessage with log priorityLogPriority.ALERT
. "Should be corrected immediately, therefore notify staff who can fix the problem. An example would be the loss of a primary ISP connection." The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aArguments
- The arguments used when replacing the placeholders.
-
alert
Logs a log aMessage with log priorityLogPriority.ALERT
.- Parameters:
aMessage
- The aMessage to be logged.aThrowable
- An exception that the aMessage should contain.
-
alert
Logs a log aMessage with log priorityLogPriority.ALERT
.- Parameters:
aMessage
- The aMessage to be logged.aThrowable
- An exception that the aMessage should contain.aArguments
- The arguments used when replacing the placeholders.
-
isLogAlert
boolean isLogAlert()Determines whether theRuntimeLogger
is being configured to log fatal messages (LogPriority.ALERT
). This method is useful to prevent the generation of vast amounts of log aMessageString
objects (and according processing) for the accordingLogPriority
in case them messages of thatLogPriority
are not logged at all.- Returns:
- True in case fatal messages are logged.
-
panic
Logs a log aMessage with log priorityLogPriority.PANIC
. "A "panic" condition usually affecting multiple apps/servers/sites. At this level it would usually notify all tech staff on call." ( See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.
-
panic
Logs a log aMessage with log priorityLogPriority.PANIC
. "A "panic" condition usually affecting multiple apps/servers/sites. At this level it would usually notify all tech staff on call." The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aArguments
- The arguments used when replacing the placeholders.
-
panic
Logs a log aMessage with log priorityLogPriority.PANIC
. "A "panic" condition usually affecting multiple apps/servers/sites. At this level it would usually notify all tech staff on call." ( See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aThrowable
- An exception that the aMessage should contain.
-
panic
Logs a log aMessage with log priorityLogPriority.PANIC
. "A "panic" condition usually affecting multiple apps/servers/sites. At this level it would usually notify all tech staff on call." The placeholders in the aMessageString
are being replaced by the provided arguments. Implementations of this interface are recommended to use Java'sMessageFormat
's syntax, the placeholder being replaced by the first argument is identified by "{0}" (without the quotes), the second one by "{1}", the third one by "{3}" and so on: Given the aMessage to be "{0} + {1} = {2}" and the three argument be x, y and x + y, then "{0}" is replaced by the value of x, "{1}" is replaced by the value of y and "{2}" is replaced by the value of x + y. See also http://en.wikipedia.org/wiki/Syslog- Parameters:
aMessage
- The aMessage to be logged.aThrowable
- An exception that the aMessage should contain.aArguments
- The arguments used when replacing the placeholders.
-
isLogPanic
boolean isLogPanic()Determines whether theRuntimeLogger
is being configured to log fatal messages (LogPriority.PANIC
). This method is useful to prevent the generation of vast amounts of log aMessageString
objects (and according processing) for the accordingLogPriority
in case them messages of thatLogPriority
are not logged at all.- Returns:
- True in case fatal messages are logged.
-
log
Logs aLogRecord
from the JUL logging framework.- Parameters:
aRecord
- The JULLogRecord
to be logged.
-