BloomLogger class
Standardized structured logging system for Bloom servers, apps, and microservices.
BloomLogger formats log messages with timestamps, ANSI colorized severity tags, hierarchical context identifiers, and structured error/stackTrace outputs.
Features
- Hierarchical Sub-Contexts: Create sub-loggers using child (e.g.,
'API'->'API:AUTH'). - Configurable Severity: Filter messages at runtime with level.
- Pluggable Output: Intercept and redirect output lines with writer.
Example
final logger = BloomLogger(context: 'HTTP', level: BloomLogLevel.info);
logger.info('Server started on port 8080');
logger.debug('This message will be skipped because level is INFO');
final authLogger = logger.child('AUTH');
authLogger.warn('Invalid login attempt for user alice');
try {
throw StateError('Database connection dropped');
} catch (e, st) {
logger.error('Failed to query user', e, st);
}
Constructors
- BloomLogger({String context = 'BLOOM', BloomLogLevel level = BloomLogLevel.debug, BloomLogWriter writer = print})
-
Creates a BloomLogger with an optional
contexttag, minimum severitylevel, and logwriter.
Properties
- context → String
-
Context tag identifying the subsystem, module, or component producing the logs.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- level ↔ BloomLogLevel
-
Current minimum severity level required for a message to be logged.
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- writer ↔ BloomLogWriter
-
Output destination function for formatted log lines (defaults to print).
getter/setter pair
Methods
-
child(
String subContext) → BloomLogger -
Creates a child logger with
subContextappended to this logger's context. -
debug(
dynamic message, [Object? error, StackTrace? stackTrace]) → void -
Logs a
messageat the BloomLogLevel.debug level with optionalerrorandstackTrace. -
error(
dynamic message, [Object? error, StackTrace? stackTrace]) → void -
Logs a
messageat the BloomLogLevel.error level with optionalerrorandstackTrace. -
info(
dynamic message, [Object? error, StackTrace? stackTrace]) → void -
Logs a
messageat the BloomLogLevel.info level with optionalerrorandstackTrace. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
warn(
dynamic message, [Object? error, StackTrace? stackTrace]) → void -
Logs a
messageat the BloomLogLevel.warn level with optionalerrorandstackTrace.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited