Class FancyLogger

java.lang.Object
de.oliver.fancyanalytics.logger.FancyLogger
Direct Known Subclasses:
ExtendedFancyLogger

public class FancyLogger extends Object
The FancyLogger class provides an advanced logging mechanism with asynchronous processing, customizable log levels, and support for multiple appenders and listeners.
  • Field Details

  • Constructor Details

    • FancyLogger

      public FancyLogger(String name)
      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

      public static FancyLogger getGlobalLogger()
    • log

      public void log(LogLevel logLevel, LogEntry logEntry)
      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

      public void log(LogLevel logLevel, LogEntry logEntry, List<Appender> appender)
      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

      public String getName()
      Retrieves the name of the logger instance.
      Returns:
      The name of the logger.
    • addAppender

      public void addAppender(Appender appender)
      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

      public void addListener(Function<LogEntry,Boolean> listener)
      Registers a listener to be notified of log entries.
      Parameters:
      listener - A function that processes LogEntry instances and returns a boolean. If the function returns false, the log entry will not be processed further.
    • setCurrentLevel

      public void setCurrentLevel(LogLevel currentLevel)
      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.