LoggingListener class abstract

A listener interface for reacting to logging events within an application.

The TracingListener interface allows you to observe and respond to log messages generated by instances of TracingListener. This is useful for implementing custom log processing, such as writing logs to:

  • The console (standard output)
  • External log files
  • Remote logging services (e.g., Datadog, Sentry)
  • In-memory dashboards or UIs

How to Implement

To respond to logs, implement this interface and override onLog:

class ConsoleLogListener implements TracingListener {
  @override
  void onLog(LogLevel level, DateTime timestamp, String message, String tag) {
    print('[$timestamp][$tag][$level] $message');
  }
}

Integration with Logger Factory

Register the listener with a logger:

final logger = MyLoggerFactory("DatabaseService");
logger.registerListener(ConsoleLogListener());

logger.add(LogLevel.info, "Database connection established.");

This enables a plug-and-play model where multiple listeners can be registered and independently respond to log events.

Implementers

Constructors

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

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onLog(LogLevel level, dynamic message, {String? tag, Object? error, StackTrace? stackTrace}) → void
Called when a new log entry is emitted by a logger.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited