{"id":22072579,"url":"https://github.com/broxus/fancy_logger","last_synced_at":"2025-03-23T19:24:27.600Z","repository":{"id":176699356,"uuid":"657489883","full_name":"broxus/fancy_logger","owner":"broxus","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-14T07:53:44.000Z","size":51,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-29T02:46:55.940Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/broxus.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-06-23T07:13:18.000Z","updated_at":"2024-05-14T05:43:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"9d43ba91-b922-4c9a-9216-8353412fb8cd","html_url":"https://github.com/broxus/fancy_logger","commit_stats":null,"previous_names":["broxus/fancy_logger"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broxus%2Ffancy_logger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broxus%2Ffancy_logger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broxus%2Ffancy_logger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/broxus%2Ffancy_logger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/broxus","download_url":"https://codeload.github.com/broxus/fancy_logger/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245155479,"owners_count":20569705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-30T21:13:48.171Z","updated_at":"2025-03-23T19:24:27.578Z","avatar_url":"https://github.com/broxus.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fancy Logger\n\n[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link]\n[![License: AGPLv3][license_badge]][license_link]\n[![app](https://github.com/broxus/fancy_logger/actions/workflows/main.yaml/badge.svg)](https://github.com/broxus/fancy_logger/actions/workflows/main.yaml)\n\nThe Logging Library for Flutter with SQLite Integration is a powerful and easy-to-use logging solution for Flutter applications. It provides a seamless way to log events, errors, and debug information in your Flutter projects while storing the logs in a SQLite database. Additionally, the library offers the capability to export logs in JSON format.\n\n## Installation 💻\n\n**❗ In order to start using Fancy Logger you must have the [Flutter SDK][flutter_install_link] installed on your machine.**\n\nAdd [fancy_logger][pubdev_link] to your `pubspec.yaml`:\n\n```yaml\ndependencies:\n  fancy_logger:\n```\n\n## Basic usage 🛠\n\nSetup DI:\n\n```dart\n@InjectableInit(  \n  externalPackageModulesBefore: [\n    ExternalModule(FancyLoggerPackageModule),\n  ],\n)  \nvoid configureDependencies() =\u003e getIt.init();  \n```\n\nInit:\n\n```dart\nFuture\u003cvoid\u003e configureLogger() async {\n  final fancyLogger = inject\u003cFancyLogger\u003e();\n  await fancyLogger.init({Level.ALL: 100});\n}\n```\n\n## Melos magic 🪄\n\nUsing [melos](https://melos.invertase.dev/) makes it very easy to work with the project, so enjoy.\n\nYou can run any job interactively run running `melos run` and selecting needed case or directly (e.g. `melos run test`).\n\n### Bootstrap 🏁\n\nMelos takes care about dependencies of all packages, including managing of local-generated library version. So, just run:\n\n```\nmelos bs\n```\n\n### Codegen 🦾\n\nThis thing will run all code generators for all packages:\n\n```\n$ melos run codegen\n```\n\n### Clean up 🧹\n\nJust run commands below to clean all, including build directories and flutter projects.\n\n```\nmelos clean\n```\n\n### Tests ✔️\n\nYou can run all tests at one by running this command.\n\n```\nmelos run test\n```\n\n### Code 📊\n\nYou can run code analysis:\n\n```\nmelos run analyze\n```\n\n### Code format 🗃️\n\n`melos run check-format` will check, `melos run format` will fix dart code formatting.\n\n```\nmelos run check-format\nmelos run format\n```\n\n### Prepare to commit 🤝🏻\n\n`melos run check-all` will ckeck, analyze and run all tests.\n\n```\nmelos run check-all\n```\n\n## Conventional Commits ❤️\n\n[This magic](https://melos.invertase.dev/guides/automated-releases#versioning) will update version and build our library automatically using commit messages and tags. [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0) is a lightweight convention on top of commit messages.\n\n## Version 🏷️\n\nPackage version control is done by melos. It runs by gh action 'Create version PR' ```melos version -a --yes```.\n\n## Continuous Integration 🤖\n\nFancy 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. The project uses [Very Good Analysis][very_good_analysis_link] for a strict set of analysis options used by our team. Code coverage is enforced using the [Very Good Workflows][very_good_coverage_link].\n\n## Github Secrets 🔑\n\n`BOT_ACCESS_TOKEN`: Personal access token (PAT) used to fetch the repository. We should use PAT and not default GITHUB_TOKEN because [\"When you use the repository's GITHUB_TOKEN to perform tasks, events triggered by the GITHUB_TOKEN, with the exception of workflow_dispatch and repository_dispatch, will not create a new workflow run\"](https://docs.github.com/en/actions/using-workflows/triggering-a-workflow#triggering-a-workflow-from-a-workflow). We want to trigger a workflow from the workflow (to run tests), so we need to use PAT. This thing is used in `version` workflow.\n\n\n[flutter_install_link]: https://docs.flutter.dev/get-started/install\n[github_actions_link]: https://docs.github.com/en/actions/learn-github-actions\n[license_badge]: https://img.shields.io/badge/license-AGPLv3-blue.svg\n[license_link]: https://opensource.org/license/agpl-v3/\n[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg\n[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis\n[very_good_cli_link]: https://pub.dev/packages/very_good_cli\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[pubdev_link]: https://pub.dev/packages/fancy_logger\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbroxus%2Ffancy_logger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbroxus%2Ffancy_logger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbroxus%2Ffancy_logger/lists"}