Logger constructor

Logger({
  1. LogLevel level = LogLevel.INFO,
  2. LogPrinter? printer,
  3. LogType type = LogType.SIMPLE,
  4. void output(
    1. String
    )?,
  5. String name = "",
  6. LogConfig? config,
  7. LoggingListener? listener,
})

A flexible and extensible logging interface.

The Logger class provides structured and leveled logging functionality across your application. It wraps a LoggingListener that handles how logs are processed and output—making it customizable through the strategy pattern.

This class offers six common logging levels:

  • info – General operational messages.
  • debug – Development and debugging messages.
  • trace – Fine-grained, low-level application traces.
  • warning – Warning messages about unexpected conditions.
  • error – Errors that occurred during execution.
  • fatal – Critical errors that may require immediate attention.

Example:

console.info('Server started');
console.error('Unexpected error occurred', error: e, stackTrace: s);

Implementation

Logger({
  LogLevel level = LogLevel.INFO,
  LogPrinter? printer,
  LogType type = LogType.SIMPLE,
  void Function(String)? output,
  String name = "",
  LogConfig? config,
  LoggingListener? listener,
}) : listener = listener ?? DefaultLoggingListener(
  level: level,
  printer: printer,
  type: type,
  output: output,
  name: name,
  config: config,
);