Skip to content

Logger Framework — Detailed#

classDiagram
  direction TB

  class LoggerFactory {
    +get(name) Logger
  }

  class Logger {
    +name
    -level: Level
    -appenders: List~Appender~
    -filters: List~Filter~
    +trace(msg)
    +debug(msg)
    +info(msg)
    +warn(msg)
    +error(msg)
    +log(level, msg, ctx)
  }

  class Level {
    <<enumeration>>
    TRACE
    DEBUG
    INFO
    WARN
    ERROR
  }

  class LogRecord {
    +ts
    +level
    +logger
    +thread
    +message
    +mdc
  }

  class Appender {
    <<interface>>
    +append(record)
  }
  class ConsoleAppender
  class FileAppender
  class RollingFileAppender
  class SyslogAppender
  class HttpAppender
  class AsyncAppender

  class Formatter {
    <<interface>>
    +format(record) String
  }
  class TextFormatter
  class JsonFormatter

  class Filter {
    <<interface>>
    +accept(record) bool
  }
  class LevelFilter
  class RegexFilter

  class Config {
    +load(yaml)
    +setLevel(logger, level)
  }

  LoggerFactory --> Logger
  Logger *-- Level
  Logger --> LogRecord
  Logger --> Appender
  Logger --> Filter
  Appender --> Formatter
  Appender <|.. ConsoleAppender
  Appender <|.. FileAppender
  Appender <|.. RollingFileAppender
  Appender <|.. SyslogAppender
  Appender <|.. HttpAppender
  Appender <|.. AsyncAppender
  Formatter <|.. TextFormatter
  Formatter <|.. JsonFormatter
  Filter <|.. LevelFilter
  Filter <|.. RegexFilter
  Logger ..> Config

Patterns#

  • Chain of Responsibility: log flows through filters.
  • Strategy: appender + formatter selection.
  • Singleton: LoggerFactory per process.
  • Decorator: AsyncAppender wraps another.

Glossary & fundamentals#

Concepts referenced in this design. Each row links to its canonical page; the tag column shows whether it is a high-level (HLD) or low-level (LLD) concept.

Tag Concept What it is Page
LLD Creational patterns Singleton, Factory, Builder, Prototype creational-patterns
LLD Structural patterns Adapter, Decorator, Facade, Proxy, Composite structural-patterns
LLD Behavioural patterns Strategy, Observer, State, Command, Chain behavioral-patterns