ilogger 0.1.0 copy "ilogger: ^0.1.0" to clipboard
ilogger: ^0.1.0 copied to clipboard

Common interfaces that support building generic logging implementations

example/ilogger_example.dart

import 'package:ilogger/ilogger.dart';

final class SampleLogger extends ILogger {
  @override
  String get name => "sample";

  @override
  bool get isDebugEnabled => true;

  @override
  bool get isErrorEnabled => true;

  @override
  bool get isFatalEnabled => true;

  @override
  bool get isInfoEnabled => true;

  @override
  bool get isTraceEnabled => true;

  @override
  bool get isWarnEnabled => true;

  @override
  bool isEnabled(LogLevel level) => true;

  @override
  void debug(message, {Exception? exception, Map<String, dynamic>? eventProperties}) {
    log(message, level: LogLevel.debug, exception: exception, eventProperties: eventProperties);
  }

  @override
  void error(message, {Exception? exception, Map<String, dynamic>? eventProperties}) {
    log(message, level: LogLevel.error, exception: exception, eventProperties: eventProperties);
  }

  @override
  void fatal(message, {Exception? exception, Map<String, dynamic>? eventProperties}) {
    log(message, level: LogLevel.fatal, exception: exception, eventProperties: eventProperties);
  }

  @override
  void info(message, {Exception? exception, Map<String, dynamic>? eventProperties}) {
    log(message, level: LogLevel.info, exception: exception, eventProperties: eventProperties);
  }

  @override
  void trace(message, {Exception? exception, Map<String, dynamic>? eventProperties}) {
    log(message, level: LogLevel.trace, exception: exception, eventProperties: eventProperties);
  }

  @override
  void warn(message, {Exception? exception, Map<String, dynamic>? eventProperties}) {
    log(message, level: LogLevel.warn, exception: exception, eventProperties: eventProperties);
  }

  @override
  void log(message, {required LogLevel level, Exception? exception, Map<String, dynamic>? eventProperties}) {
    print('${DateTime.now()} [$level] $message |$exception|$eventProperties');
  }
}

void main() {
  final ILogger logger = SampleLogger();

  logger.info('Running example from `main` at the info level');
  logger.error('Showing a sample error', exception: Exception('An error'));
  logger.trace(
    'Showing event properties at the trace level',
    eventProperties: {
      '1+1': 2,
      'dogsOrCats': 'both',
      'isItTrue': true,
      'extraArr': ['a', 'b', 'c'],
      'extraObj': {
        'fieldA': 0,
        'fieldB': 1,
      }
    },
  );
}
1
likes
160
points
26
downloads

Publisher

verified publisherwinetech.com

Weekly Downloads

Common interfaces that support building generic logging implementations

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

collection

More

Packages that depend on ilogger