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

    • name

      protected final String name
    • defaultAppenders

      protected final List<Appender> defaultAppenders
    • middlewares

      protected final List<Middleware> middlewares
    • currentLevel

      protected LogLevel currentLevel
  • 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 middlewares.

      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<Middleware> middlewares)
      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.
      middlewares - The list of middlewares to process log entries before they are logged.
  • 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.
    • addMiddlware

      public void addMiddlware(Middleware middleware)
      Adds new middleware to the FancyLogger.

      Middleware allows for processing or modifying log entries before they are logged. This can be useful for adding additional context, filtering, or transforming log data.

    • 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.