ilogger 0.1.1 copy "ilogger: ^0.1.1" to clipboard
ilogger: ^0.1.1 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