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

HTTP client implementation for dart_seq

GitHub License Pub Version Pub Points Pub Likes Pub Popularity

dart_seq_http_client is an HTTP client implementation for dart_seq, enabling you to send log entries to a Seq server using HTTP ingestion.

Features #

Additionally to the features provided by dart_seq, dart_seq_http_client offers:

  • Automatic Retry Mechanism: The library automatically retries failed requests to the Seq server, except in the case of 429 (Too Many Requests) responses. This built-in resilience ensures that log entries are reliably delivered, even in the face of intermittent network connectivity or temporary server unavailability.
  • Minimum Log Level Enforcement: dart_seq_http_client keeps track of the server-side configured minimum log level and discards events that fall below this threshold. This feature helps reduce unnecessary log entries and ensures that only relevant and significant events are forwarded to the Seq server.

Getting Started #

To start using dart_seq_http_client in your Dart/Flutter application, follow these steps:

  1. Install this library: dart pub add dart_seq dart_seq_http_client
  2. Instantiate the HTTP client logger (see usage below)
  3. Enjoy!

Usage #

After the installation, you can use the library like this:

import 'package:dart_seq/dart_seq.dart';
import 'package:dart_seq_http_client/dart_seq_http_client.dart';

Future<void> main() async {
  // Use the HTTP client implementation to create a logger
  final logger = SeqHttpLogger.create(
    host: 'http://localhost:5341',
    globalContext: {
      'App': 'Example',
    },
  );

  // Log a message
  await logger.log(
    SeqLogLevel.information,
    'test, logged at: {Timestamp}',
    null,
    {
      'Timestamp': DateTime.now().toUtc().toIso8601String(),
    },
  );

  // Flush the logger to ensure all messages are sent
  await logger.flush();
}

See the example directory for a complete example, including a docker-compose.yml file to start a local Seq instance.

Additional information #

  • Feature requests and bug reports should be reported using GitHub issues.
  • Contributions are welcome! If you'd like to contribute, please follow the guidelines outlined in the CONTRIBUTING.md file.

License #

dart_seq_http_client is licensed under the MIT License. See the LICENSE file for more information.

This project is not affiliated with Datalust, the creators of Seq. The library is an independent open-source project developed by the community for the community.

1
likes
150
points
158
downloads

Publisher

verified publisherricardoboss.de

Weekly Downloads

HTTP client implementation for dart_seq

Repository (GitHub)
View/report issues

Topics

#logging #seq #http

Documentation

API reference

License

MIT (license)

Dependencies

dart_seq, http

More

Packages that depend on dart_seq_http_client