loghub 1.0.0 copy "loghub: ^1.0.0" to clipboard
loghub: ^1.0.0 copied to clipboard

A simple and extensible logging solution for dart and flutter apps with handy pre-built loggers.

example/example.dart

import 'dart:io';

import 'package:loghub/loghub.dart';

void main() async {
  // Using temporary to demonstrate only.
  final logDir = Directory.systemTemp.createTempSync('dlogger_example_');

  // 1. ConsoleLogger — prints formatted logs to stdout.
  final consoleLogger = ConsoleLogger()
    ..log(
      LogData(
        tag: 'App',
        level: LogLevel.INFO,
        stamp: DateTime.now(),
        message: 'Hello from ConsoleLogger!',
      ),
    );

  // 2. FileLogger — appends formatted logs to a file.
  final fileLogger = FileLogger(
    logDirectory: logDir,
    fileNameBuilder: (_) => 'app.log',
  )..log(
      LogData(
        tag: 'App',
        level: LogLevel.WARNING,
        stamp: DateTime.now(),
        message: 'Something looks off.',
      ),
    );

  // 3. CompositeLogger — fan out one log call to multiple loggers.
  CompositeLogger(
    {
      'console': consoleLogger,
      'file': fileLogger,
    },
    [],
  ).log(
    LogData(
      tag: 'App',
      level: LogLevel.DEBUG,
      stamp: DateTime.now(),
      message: 'This goes to both console and file.',
    ),
  );

  // 4. Filtering — block logs below a certain level.
  final controller = DefaultLogPolicyController()
    ..addBlockedLevel(LogLevel.DEBUG);

  CompositeLogger(
    {
      'console': consoleLogger,
    },
    [
      PolicyBasedLogFilter(controller),
    ],
  )
    ..log(
      LogData(
        tag: 'App',
        level: LogLevel.DEBUG,
        stamp: DateTime.now(),
        message: 'This will NOT appear (blocked).',
      ),
    )
    ..log(
      LogData(
        tag: 'App',
        level: LogLevel.ERROR,
        stamp: DateTime.now(),
        message: 'This WILL appear.',
      ),
    );

  // Clean up.
  fileLogger.dispose();
  logDir.deleteSync(recursive: true);
}
0
likes
140
points
121
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A simple and extensible logging solution for dart and flutter apps with handy pre-built loggers.

Homepage
Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

dart_functionals, meta, path

More

Packages that depend on loghub