ISpectLogger class

A customizable logging and inspection utility for mobile applications.

ISpectLogger provides a comprehensive logging system with features such as:

  • Multiple log levels (debug, info, warning, error, critical, verbose)
  • Custom log filtering
  • Error and exception handling
  • Log history tracking
  • Stream-based log monitoring
  • Specialized log types (analytics, routes, providers, etc.)

Example usage:

final inspector = ISpectLogger();
inspector.info('Application started');
inspector.error('Failed to connect', NetworkException(), StackTrace.current);

// Listen to logs
inspector.stream.listen((log) {
  // Handle log data
});
Available extensions

Constructors

ISpectLogger({ISpectBaseLogger? logger, ISpectObserver? observer, ISpectLoggerOptions? options, ISpectFilter? filter, ISpectErrorHandler? errorHandler, ILogHistory? history})
Creates an instance of ISpectLogger with optional components.

Properties

fileLogHistory FileLogHistory?
no setter
hashCode int
The hash code for this object.
no setterinherited
hasObservers bool
Indicates whether at least one observer is registered.
no setter
history List<ISpectLogData>
List of all log entries stored in history.
no setter
isDisposed bool
Indicates whether this logger has been disposed and can no longer emit logs.
no setter
logHistory ILogHistory
no setter
options ISpectLoggerOptions
Current configuration options for this inspector instance.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
stream Stream<ISpectLogData>
Stream controller for broadcasting log events. Stream of log data that can be subscribed to for real-time monitoring.
no setter

Methods

addObserver(ISpectObserver observer) → void
Adds an observer to be notified of log events.
clearFilter() → void
Removes the current filter so that all logs are processed.
clearHistory() → void
Clears all log entries from history.
clearObservers() → void
Removes all registered observers.
configure({ISpectBaseLogger? logger, ISpectLoggerOptions? options, ISpectObserver? observer, ISpectFilter? filter, ISpectErrorHandler? errorHandler, ILogHistory? history}) → void
Reconfigures the inspector with new components.
critical(Object? msg, {Object? exception, StackTrace? stackTrace, Map<String, dynamic>? additionalData, AnsiPen? pen}) → void
Creates a critical level log entry.
debug(Object? msg, {Map<String, dynamic>? additionalData, AnsiPen? pen}) → void
Creates a debug level log entry.
disable() → void
Disables the inspector.
dispose() Future<void>
Releases resources held by this logger.
enable() → void
Enables the inspector.
error(Object? msg, {Object? exception, StackTrace? stackTrace, Map<String, dynamic>? additionalData, AnsiPen? pen}) → void
Creates an error level log entry.
good(String message) → void
Creates a "good" log entry.
handle({required Object exception, StackTrace? stackTrace, Object? message}) → void
Handles exceptions and errors.
info(Object? msg, {Map<String, dynamic>? additionalData, AnsiPen? pen}) → void
Creates an info level log entry.
log(Object? message, {LogLevel? logLevel, ISpectLogType? type, Object? exception, StackTrace? stackTrace, AnsiPen? pen, Map<String, dynamic>? additionalData}) → void
Creates a log entry with custom parameters.
logData(ISpectLogData log) → void
Logs a custom ISpectLogData instance directly.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
observe(ISpectObserver observer) ISpectObserverDisposer
Registers an observer and returns a disposer to remove it later.
print(String message) → void
Creates a basic print log entry.
provider(String message) → void
Creates a provider log entry.
removeObserver(ISpectObserver observer) → void
Removes an observer from the list of registered observers.
route(String message, {String? transitionId}) → void
Creates a route log entry.
toString() String
A string representation of this object.
inherited
track(String message, {String? event, String? analytics, Map<String, dynamic>? parameters}) → void
Creates an analytics tracking log entry.
verbose(Object? msg, {Map<String, dynamic>? additionalData, AnsiPen? pen}) → void
Creates a verbose level log entry.
warning(Object? msg, {Map<String, dynamic>? additionalData, AnsiPen? pen}) → void
Creates a warning level log entry.

Operators

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