FLUTTER ECOSYSTEM

MohiuddinM/log

MohiuddinM/log open-source repository details.

ログ のプロジェクト画像
Stars
11
Forks
0
最終プッシュ(UTC)
2025/01/21
プロジェクト状態
公開中
Muhammad Mohiuddin GitHub avatar
GITHUB User

Muhammad Mohiuddin ↗

engineer by profession, engineer by hobby

Regensburg
言語Dart

このリポジトリが公開するパッケージ

使用している依存関係

依存関係一覧 6 件

元の README

以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。

README を開く / 閉じる

An easy to use and extendable logging package for Dart. Especially useful for use in libraries, as it allows application to control logging from the imported libraries.

Console Printer Output

Features

  • Ability to filter logs from imported libraries
  • 100% configurable (print logs to console, write to file or send to backend all possible!)
  • Similar to other logging packages, so nothing new to learn

Usage

A simple usage example:

import 'package:quick_log/quick_log.dart';

void main() {
  const log = Logger('LogExample');

  log.debug('this is a debug message');
  log.info('this is an info message');
}

Configuring logger output:

import 'package:quick_log/quick_log.dart';

void main() {
  const log = Logger('LogExample');

  Logger.writer = ConsolePrinter(minLevel: LogLevel.info);

  log.d('this is a debug message');
  log.i('this is an info message');
}

Ignoring logs:

import 'package:quick_log/quick_log.dart';

class ExampleLogger extends Logger {
  const ExampleLogger(String name) : super(name, 'ExampleLogger');
}

void main() {
  const log = ExampleLogger('LogExample');

  Logger.writer = ConsolePrinter(onlyTags: []);
  // Or
  Logger.writer = ConsolePrinter(exceptTags: [log.name]);

  // These messages won't be printed
  log.d('this is a debug message');
  log.i('this is an info message');
}

Can be used in tests by using the LogStreamWriter:

import 'package:quick_log/quick_log.dart';

test('test', () {
  const log = Logger('LogExample');
  final writer = LogStreamWriter();
  Logger.writer = writer;

  log.i('this line was executed');
  
  expect(writer.pastMessages.length, 1);
  expect(writer.lastMessage.message, 'this is an info message');
});

Please file feature requests and bugs at the issue tracker.