{"id":37675783,"url":"https://github.com/jamesmistry/breadlog","last_synced_at":"2026-01-16T12:14:07.759Z","repository":{"id":211339840,"uuid":"517336368","full_name":"jamesmistry/breadlog","owner":"jamesmistry","description":"Maintain unique references to log messages in source code.","archived":false,"fork":false,"pushed_at":"2024-12-09T21:57:43.000Z","size":1251,"stargazers_count":5,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-09T22:34:49.040Z","etag":null,"topics":["code","diagnostics","logging","logging-and-metrics","security-audit","security-automation","security-tools","source-code","troubleshooting"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/jamesmistry.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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":"2022-07-24T13:48:29.000Z","updated_at":"2024-12-09T21:57:19.000Z","dependencies_parsed_at":"2024-04-24T22:23:25.105Z","dependency_job_id":"40b94aac-b06f-4d04-ae71-5d8dce8f40f2","html_url":"https://github.com/jamesmistry/breadlog","commit_stats":null,"previous_names":["jamesmistry/breadlog"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/jamesmistry/breadlog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesmistry%2Fbreadlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesmistry%2Fbreadlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesmistry%2Fbreadlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesmistry%2Fbreadlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamesmistry","download_url":"https://codeload.github.com/jamesmistry/breadlog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamesmistry%2Fbreadlog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478525,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"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":["code","diagnostics","logging","logging-and-metrics","security-audit","security-automation","security-tools","source-code","troubleshooting"],"created_at":"2026-01-16T12:14:06.297Z","updated_at":"2026-01-16T12:14:07.744Z","avatar_url":"https://github.com/jamesmistry.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Breadlog\n\n![CI](https://github.com/jamesmistry/breadlog/actions/workflows/ci.yaml/badge.svg)\n\nFor documentation about using Breadlog, see the [User Guide](https://breadlog.readthedocs.io/en/stable/).\n\n## Overview\n\nBreadlog maintains stable, unique references to log messages in your source \ncode.\n\nThis helps you identify application events from log messages using a numerical \nID that stays the same even when log message content changes. No brittle or \ncomplex text parsing required, and no new runtime dependencies needed.\n\nA log statement before Breadlog:\n\n```\nwarn!(\"Bad incoming request: {}\", uri);\n```\n\nA log statement after Breadlog:\n\n```\nwarn!(\"[ref: 24] Bad incoming request: {}\", uri);\n```\n\n## Installing/Upgrading Breadlog\n\n\u003e [!NOTE]\n\u003e Breadlog only supports Linux on x86-64 at the moment.\n\nInstall the latest version of Breadlog with the following command:\n\n```bash\ncurl --proto \"=https\" -LsSf \\\n   \"https://github.com/jamesmistry/breadlog/releases/latest/download/breadlog-package-linux_x86-64.tar.gz\" \\\n   | sudo tar -xz -C /\n```\n\nTest your installation by running Breadlog:\n\n```bash\nbreadlog --version\n```\n\nIf you'd like to install a specific version of Breadlog, go to the \n[list of Breadlog releases](https://github.com/jamesmistry/breadlog/releases).\n\n\nSee the [User Guide](https://breadlog.readthedocs.io/en/stable/) for how to get started.\n\n## Using Breadlog\n\nSee the [User Guide](https://breadlog.readthedocs.io/en/stable/).\n\n## Building Breadlog\n\n\u003e [!NOTE]\n\u003e Breadlog only supports Linux x86-64 targets at the moment.\n\n### Prerequisites\n\nBefore building Breadlog, you need to:\n\n- Install the Rust compiler toolchain. [Find instructions at rust-lang.org](https://www.rust-lang.org/tools/install).\n- Install the Rust nightly toolchain:\n\n  ```bash\n  rustup toolchain install nightly\n  ```\n- (Optional) Install `rustfmt` and `clippy` (used for code formatting and \n  static analysis, respectively):\n\n  ```bash\n  rustup update \u0026\u0026 rustup component add rustfmt clippy\n  ```\n- (Optional) Install `cargo-fuzz` (used for fuzz testing):\n\n  ```bash\n  cargo install cargo-fuzz\n  ```\n\n### Building using Cargo\n\nBreadlog currently requires nightly Rust features.\n\n1. Clone the repository and change your working directory:\n   \n   ```bash\n   git clone git@github.com:jamesmistry/breadlog.git \u0026\u0026 cd breadlog\n   ```\n2. Make sure the toolchain is up-to-date:\n\n   ```bash\n   rustup update nightly\n   ```\n3. Build using Cargo:\n\n   ```bash\n   cargo +nightly build\n   ```\n4. Find the Breadlog binary in `target/debug/breadlog` or \n   `target/release/breadlog` if creating a release build.\n\nTo build the User Guide using Sphinx:\n\n1. Install Sphinx if you haven't already:\n\n   ```bash\n   pip3 install -U sphinx sphinx_rtd_theme\n   ```\n2. From the repository root run the following command where `\u003cOUTPUT DIR\u003e` is \n   the directory to write the generated HTML:\n\n   ```bash\n   sphinx-build -M html docs/ \u003cOUTPUT DIR\u003e\n   ```\n\n### Running tests\n\n*All commands below are to be run from the repository root.*\n\n- Run the test suite:\n\n  ```bash\n  cargo test\n  ```\n- Start a fuzz test:\n\n  ```bash\n  cargo fuzz run fuzz_rust_parser\n  ```\n- Run the code format check:\n\n  ```bash\n  cargo +nightly fmt -- --check --config-path ./\n  ```\n- Run the linter:\n\n  ```bash\n  cargo clippy -- -D warnings\n  ```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesmistry%2Fbreadlog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamesmistry%2Fbreadlog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamesmistry%2Fbreadlog/lists"}