Hemend Async Logger

The presented software package expands upon the existing functionality of the hemend_logger package, which can be found at https://pub.dev/packages/hemend_logger. This extension enhances the capabilities of the package by introducing asynchronous logging functions that enable the recording of logs using various methods, such as post requests, websockets, files, and more.

At its current state, the package includes built-in support for post request, web socket and file logging functionalities, allowing users to seamlessly utilize these mechanisms for recording logs.

File Recorder

Post Recorder

Installation 💻

❗ In order to start using Hemend Async Logger you must have the Dart SDK installed on your machine.

Add hemend_async_log_recorder and hemend_logger to yourpubspec.yaml:

dependencies:
  hemend_logger: <latest-version>
  hemend_async_log_recorder: <latest-version>

Install it:

dart pub get

Usage

Just add desired logger to the hemend_logger instance and start logging

HemendLogger.defaultLogger()
  ..addListener(
    HemendAsyncLogRecorder.post(postUrl: 'https://<Server>/record'),
  )
  ..addListener(
    HemendAsyncLogRecorder.file(filePath: 'example/test.log'),
  );

Continuous Integration 🤖

Hemend Async Logger comes with a built-in GitHub Actions workflow powered by Very Good Workflows but you can also add your preferred CI/CD solution.

Out of the box, on each pull request and push, the CI formats, lints, and tests the code. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses Very Good Analysis for a strict set of analysis options used by our team. Code coverage is enforced using the Very Good Workflows.

GitHub

View Github