Package de.oliver.fancyanalytics.logger
Class FancyLogger
java.lang.Object
de.oliver.fancyanalytics.logger.FancyLogger
- Direct Known Subclasses:
ExtendedFancyLogger
The FancyLogger class provides an advanced logging mechanism with asynchronous
processing, customizable log levels, and support for multiple appenders and listeners.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAppender(Appender appender) Adds a new appender to the FancyLogger.voidaddListener(Function<LogEntry, Boolean> listener) Registers a listener to be notified of log entries.static FancyLoggergetName()Retrieves the name of the logger instance.voidLogs a message with a specified log level and log entry using the default appenders.voidLogs an entry based on the provided log level and a list of appenders.voidsetCurrentLevel(LogLevel currentLevel) Sets the current log level for the FancyLogger.
-
Field Details
-
name
-
defaultAppenders
-
listeners
-
currentLevel
-
-
Constructor Details
-
FancyLogger
Initializes a new instance of the FancyLogger class with default settings.The default log level is set to INFO. A ConsoleAppender is added as the default appender to handle log messages, and an empty list is initialized for listeners.
Use ExtendedFancyLogger for a more user-friendly API.
- Parameters:
name- The name of the logger instance.
-
FancyLogger
public FancyLogger(String name, LogLevel currentLevel, List<Appender> appenders, List<Function<LogEntry, Boolean>> listeners) Initializes a new instance of the FancyLogger class.- Parameters:
name- The name of the logger instance.currentLevel- The current log level. Log messages below this level will be ignored.appenders- The list of appenders used to handle log messages.listeners- The list of listeners to be notified of log entries.
-
-
Method Details
-
getGlobalLogger
-
log
Logs a message with a specified log level and log entry using the default appenders.- Parameters:
logLevel- The severity level of the log entry.logEntry- The log entry containing the details to be logged.
-
log
Logs an entry based on the provided log level and a list of appenders.- Parameters:
logLevel- The severity level of the log entry.logEntry- The log entry to be logged.appender- The list of appenders to which the log entry will be sent.
-
getName
Retrieves the name of the logger instance.- Returns:
- The name of the logger.
-
addAppender
Adds a new appender to the FancyLogger.- Parameters:
appender- The appender to be added. An appender defines the way log entries are output, such as to the console or a file.
-
addListener
Registers a listener to be notified of log entries.- Parameters:
listener- A function that processesLogEntryinstances and returns a boolean. If the function returnsfalse, the log entry will not be processed further.
-
setCurrentLevel
Sets the current log level for the FancyLogger.- Parameters:
currentLevel- The log level to set. Log messages with a level lower than this will be ignored.
-