{"id":25298692,"url":"https://github.com/fmotalleb/hemend_async_log_recorder","last_synced_at":"2026-04-26T12:31:50.957Z","repository":{"id":168605194,"uuid":"644364952","full_name":"fmotalleb/hemend_async_log_recorder","owner":"fmotalleb","description":"An Extension to the hemend_logger package that enables asynchronously logging.","archived":false,"fork":false,"pushed_at":"2024-02-26T05:02:04.000Z","size":213,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-10T11:11:02.715Z","etag":null,"topics":["async","async-logger","dart","file-logger","flutter","logger","logging","stream","websocket"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fmotalleb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-23T11:15:57.000Z","updated_at":"2025-05-09T02:15:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"d65eba40-8fb3-4194-b5a4-790551689ef8","html_url":"https://github.com/fmotalleb/hemend_async_log_recorder","commit_stats":null,"previous_names":["fmotalleb/hemend_async_log_recorder"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/fmotalleb/hemend_async_log_recorder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmotalleb%2Fhemend_async_log_recorder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmotalleb%2Fhemend_async_log_recorder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmotalleb%2Fhemend_async_log_recorder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmotalleb%2Fhemend_async_log_recorder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fmotalleb","download_url":"https://codeload.github.com/fmotalleb/hemend_async_log_recorder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fmotalleb%2Fhemend_async_log_recorder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32297893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async","async-logger","dart","file-logger","flutter","logger","logging","stream","websocket"],"created_at":"2025-02-13T04:42:34.280Z","updated_at":"2026-04-26T12:31:50.942Z","avatar_url":"https://github.com/fmotalleb.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hemend Async Logger\n\n[![License: MIT][license_badge]][license_link]\n[![pub package](https://img.shields.io/pub/v/hemend_async_log_recorder?color=blue)][pub_link]\n[![git repo](https://img.shields.io/pub/v/hemend_async_log_recorder?color=blue\u0026label=git)][git_link]\n[![pub points](https://img.shields.io/pub/points/hemend_async_log_recorder)][pub_link]\n[![code_count](https://img.shields.io/github/languages/top/fmotalleb/hemend_async_log_recorder?color=green\u0026label=pure%20dart)][pub_link]\n[![code size](https://img.shields.io/github/languages/code-size/fmotalleb/hemend_async_log_recorder)][git_link]\n[![Ci](https://github.com/FMotalleb/hemend_async_log_recorder/actions/workflows/main.yaml/badge.svg)](https://github.com/FMotalleb/hemend_async_log_recorder/actions/workflows/main.yaml)\n[![Auto Publish](https://github.com/FMotalleb/hemend_async_log_recorder/actions/workflows/publish.yaml/badge.svg)](https://github.com/FMotalleb/hemend_async_log_recorder/actions/workflows/publish.yaml)\n[![codecov](https://codecov.io/gh/FMotalleb/hemend_async_log_recorder/branch/master/graph/badge.svg?token=RR2XH1EPWY)](https://codecov.io/gh/FMotalleb/hemend_async_log_recorder)\n\nThe presented software package expands upon the existing functionality of the hemend_logger package, which can be found at \u003chttps://pub.dev/packages/hemend_logger\u003e. 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.\n\nAt 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.\n\n![File Recorder](./assets/file.png \"Default File Recorder\")\n\n![Post Recorder](./assets/request.png \"Default Post Recorder\")\n\n## Installation 💻\n\n**❗ In order to start using Hemend Async Logger you must have the [Dart SDK][dart_install_link] installed on your machine.**\n\nAdd `hemend_async_log_recorder` and `hemend_logger` to your`pubspec.yaml`:\n\n```yaml\ndependencies:\n  hemend_logger: \u003clatest-version\u003e\n  hemend_async_log_recorder: \u003clatest-version\u003e\n```\n\nInstall it:\n\n```sh\ndart pub get\n```\n\n---\n\n## Usage\n\nJust add desired logger to the hemend_logger instance and start logging\n\n```dart\nHemendLogger.defaultLogger()\n  ..addListener(\n    HemendAsyncLogRecorder.post(postUrl: 'https://\u003cServer\u003e/record'),\n  )\n  ..addListener(\n    HemendAsyncLogRecorder.file(filePath: 'example/test.log'),\n  );\n```\n\n---\n\n## Continuous Integration 🤖\n\nHemend Async Logger comes with a built-in [GitHub Actions workflow][github_actions_link] powered by [Very Good Workflows][very_good_workflows_link] but you can also add your preferred CI/CD solution.\n\nOut 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. Code coverage is enforced using the [Very Good Workflows][very_good_coverage_link].\n\n[dart_install_link]: https://dart.dev/get-dart\n[github_actions_link]: https://docs.github.com/en/actions/learn-github-actions\n[license_badge]: https://img.shields.io/badge/license-MIT-blue.svg\n[license_link]: https://opensource.org/licenses/MIT\n[very_good_coverage_link]: https://github.com/marketplace/actions/very-good-coverage\n[very_good_workflows_link]: https://github.com/VeryGoodOpenSource/very_good_workflows\n[git_link]: https://github.com/FMotalleb/hemend_async_log_recorder\n[pub_link]: https://pub.dev/packages/hemend_async_log_recorder\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffmotalleb%2Fhemend_async_log_recorder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffmotalleb%2Fhemend_async_log_recorder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffmotalleb%2Fhemend_async_log_recorder/lists"}