Class LogbackSupport
java.lang.Object
org.springframework.geode.logging.slf4j.logback.support.LogbackSupport
Abstract utility class containing functionality for invoking SLF4J and Logback APIs.
- Since:
- 1.3.0
- See Also:
-
ILoggerFactory
Logger
LoggerFactory
LoggerContext
Appender
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
addAppender
(ch.qos.logback.classic.Logger logger, ch.qos.logback.core.Appender<ch.qos.logback.classic.spi.ILoggingEvent> appender) Adds the givenAppender
to the givenLogger
.static boolean
removeAppender
(ch.qos.logback.classic.Logger logger, String appenderName) static boolean
removeConsoleAppender
(ch.qos.logback.classic.Logger logger) Removes the consoleAppender
from the givenLogger
.static boolean
removeDelegateAppender
(ch.qos.logback.classic.Logger logger) Removes the delegateAppender
from the givenLogger
.static <E,
T extends ch.qos.logback.core.Appender<E>>
TrequireAppender
(ch.qos.logback.classic.Logger logger, String appenderName, Class<T> appenderType) static ch.qos.logback.classic.Logger
Requires the SLF4J Logback ROOTLogger
otherwise throws anIllegalStateException
.static ch.qos.logback.classic.LoggerContext
Requires aLoggerContext
otherwise throws anIllegalStateException
.static void
Resets the state of the SLF4J Logback logging provider and system.static <E,
T extends ch.qos.logback.core.Appender<E>>
Optional<T>resolveAppender
(ch.qos.logback.classic.Logger logger, String appenderName, Class<T> appenderType) static Optional<ch.qos.logback.classic.LoggerContext>
Resolves the SLF4J, LogbackLoggerContext
.static Optional<org.slf4j.Logger>
Resolves theRoot
Logger
.static void
Properly stops Logback classic.static void
Disables Spring Boot's logging initialization, auto-configuration.static Optional<ch.qos.logback.classic.Logger>
toLogbackLogger
(org.slf4j.Logger logger) Converts an SLF4JLogger
to a LogbackLogger
.
-
Field Details
-
slf4jLoggerToLogbackLoggerConverter
-
CONSOLE_APPENDER_NAME
- See Also:
-
DELEGATE_APPENDER_NAME
- See Also:
-
ILLEGAL_LOGGER_TYPE_EXCEPTION_MESSAGE
- See Also:
-
ROOT_LOGGER_NAME
- See Also:
-
SPRING_BOOT_LOGGING_SYSTEM_CLASS_NAME
- See Also:
-
UNRESOLVABLE_APPENDER_EXCEPTION_MESSAGE
- See Also:
-
-
Constructor Details
-
LogbackSupport
public LogbackSupport()
-
-
Method Details
-
suppressSpringBootLogbackInitialization
public static void suppressSpringBootLogbackInitialization()Disables Spring Boot's logging initialization, auto-configuration. -
stopLogback
public static void stopLogback()Properly stops Logback classic.- See Also:
-
resetLogback
public static void resetLogback()Resets the state of the SLF4J Logback logging provider and system. -
resolveLoggerContext
Resolves the SLF4J, LogbackLoggerContext
. If theLoggerContext
could not be resolve then the returnedOptional
will beempty
.- Returns:
- an
Optional
LoggerContext
. - See Also:
-
LoggerContext
-
requireLoggerContext
public static ch.qos.logback.classic.LoggerContext requireLoggerContext()Requires aLoggerContext
otherwise throws anIllegalStateException
.- Returns:
- the required
LoggerContext
. - Throws:
IllegalStateException
- if theLoggerContext
could not be resolved.- See Also:
-
resolveRootLogger
Resolves theRoot
Logger
.- Returns:
- an
Optional
Logger
for the logging provider's ROOTLogger
. - See Also:
-
Logger
-
requireLogbackRootLogger
public static ch.qos.logback.classic.Logger requireLogbackRootLogger()Requires the SLF4J Logback ROOTLogger
otherwise throws anIllegalStateException
.- Returns:
- the configured SLF4J Logback ROOT
Logger
. - Throws:
IllegalStateException
- if the SLF4J Logback ROOTLogger
could not be resolved or the ROOTLogger
is not a SLF4J Logback ROOTLogger
.- See Also:
-
Logger
resolveRootLogger()
-
resolveAppender
public static <E,T extends ch.qos.logback.core.Appender<E>> Optional<T> resolveAppender(ch.qos.logback.classic.Logger logger, String appenderName, Class<T> appenderType) - Type Parameters:
T
-type
of theAppender
.E
-type
of the logging event.- Parameters:
logger
- SLF4JLogger
from which to resolve theAppender
.appenderName
- aString
containing the name of theAppender
to resolve.appenderType
- requiredtype
of theAppender
to resolve.- Returns:
- an
Optional
Appender
with the givenname
from theLogger
. - See Also:
-
Appender
Optional
Logger
-
requireAppender
public static <E,T extends ch.qos.logback.core.Appender<E>> T requireAppender(ch.qos.logback.classic.Logger logger, String appenderName, Class<T> appenderType) - Type Parameters:
T
-type
of theAppender
.E
-type
of theObjects
processed by theAppender
.- Parameters:
logger
-Logger
from which to resolve theAppender
.appenderName
-String
containing the name of theAppender
.appenderType
- requiredtype
of theAppender
.- Returns:
- the resolved
Appender
. - Throws:
IllegalStateException
- if anAppender
withname
and requiredtype
could not be resolved from the givenLogger
.- See Also:
-
Logger
Appender
-
addAppender
public static boolean addAppender(ch.qos.logback.classic.Logger logger, ch.qos.logback.core.Appender<ch.qos.logback.classic.spi.ILoggingEvent> appender) Adds the givenAppender
to the givenLogger
.- Parameters:
logger
-Logger
to add theAppender
to.appender
-Appender
to add to theLogger
.- Returns:
- a boolean value indicating whether the
Appender
was successfully added to theLogger
. - See Also:
-
Logger
Appender
-
removeAppender
- Parameters:
logger
-Logger
from which to remove theAppender
.appenderName
-name
of theAppender
to remove from theLogger
.- Returns:
- a boolean value indicating whether the targeted
Appender
was removed from the givenLogger
. - See Also:
-
Logger
Appender
-
removeConsoleAppender
public static boolean removeConsoleAppender(ch.qos.logback.classic.Logger logger) Removes the consoleAppender
from the givenLogger
.- Parameters:
logger
-Logger
from which to remove the consoleAppender
.- Returns:
- true if the console
Appender
was registered with and successfully remove from the givenLogger
. - See Also:
-
removeDelegateAppender
public static boolean removeDelegateAppender(ch.qos.logback.classic.Logger logger) Removes the delegateAppender
from the givenLogger
.- Parameters:
logger
-Logger
from which to remove the delegateAppender
.- Returns:
- true if the delegate
Appender
was registered with and successfully remove from the givenLogger
. - See Also:
-
toLogbackLogger
Converts an SLF4JLogger
to a LogbackLogger
.
-