feat: rewrite project from Python to Rust log analyzer#3
Merged
Conversation
- Change GitHub sponsor handle from n4vrl0s3 to sha-wrks in FUNDING.yml - Update contact email to yansha@yansha.dev in CODE_OF_CONDUCT.md and SECURITY.md - Update copyright year from 2025 to 2026 in LICENSE
The repository is being rewritten in Rust as a log analyzer. The previous Python sequential and binary search scripts are no longer relevant.
Add full Rust implementation of logagg, a fast log analyzer CLI. Parsers: - JSON log parser with field extraction - logfmt/key-value structured parser - Regex-based text log parser supporting ISO, bracketed, syslog, and simple prefix formats - Auto-detection of log format per line Core features: - LogAnalyzer builder with filter_by_level, filter_by_source, filter_by_message, and filter_by_time_range - Parallel file loading via Rayon - Output as pretty table, JSON, or CSV - Summary statistics with error rate and per-source breakdown Tests: - 16 unit tests across all parsers and filter engine - 8 integration tests covering all filter combinations and edge cases - Criterion benchmarks for all parsers and auto-detection
Exclude Rust build output (target/), editor config files, OS-generated files, and secrets. Test fixture log files are explicitly allowed via negation rule.
Replace outdated Python search algorithm documentation with full documentation for the logagg CLI tool. Includes centered title, shields.io badges for CI, license, Rust version, and PRs welcome. Covers installation, usage, all CLI flags with examples, supported log formats, project structure, and development commands.
Add CI pipeline with two jobs: - test: builds the project and runs cargo test on ubuntu-latest - lint: checks formatting with cargo fmt and runs cargo clippy Workflow triggers on push and pull request to main. Uses Swatinem/rust-cache to cache dependencies between runs. Also stage existing CONTRIBUTING.md file that was previously untracked.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
chorechorefeatchoredocsciTest Plan
cargo testpasses with 24/24 tests