Repository navigation
Releases: lance0/logsynth
Releases · lance0/logsynth
Release list
v0.3.1
Release notes for v0.3.1:
──────────────────────────────────────────
LogSynth v0.3.1
Fixed
• TUI dashboard now updates properly during parallel stream execution
• Dashboard display no longer prints multiple copies (uses NullSink to prevent stdout interference)
• CLI tests fixed for ANSI escape code handling in CI environments
v0.2.1
v0.2.1 - HTTP Output Sink
Added
HTTP Output Sink - POST logs to HTTP/HTTPS endpoints with enterprise-ready features:
- Batching: Configurable batch size and flush timeout
- Retries: Exponential backoff on 5xx, 429, and connection errors
- Formats: JSON array, NDJSON, or plain text
- Headers: --header / -H CLI option for custom headers (auth tokens, etc.)
- Dead-letter: Failed batches saved to JSONL file for debugging/replay
URL Configuration:
Basic
logsynth run nginx --output http://localhost:8080/logs
With parameters
logsynth run nginx --output "http://localhost:8080/logs?batch=50&timeout=10&format=ndjson"
With auth header
logsynth run nginx --output http://localhost:8080/logs -H "Authorization: Bearer token"
URL Parameters:
| Parameter | Default | Description |
|---|---|---|
| batch | 100 | Batch size before flush |
| timeout | 5 | Seconds before timeout flush |
| format | json | json, ndjson, or text |
| retries | 3 | Max retry attempts |
Stats
- 29 new tests (135 total)
- Full test coverage for batching, retry logic, and dead-letter functionality
LogSynth v0.2.0
LogSynth v0.2.0
New Features
- Per-stream rate configuration - Control rates independently when running multiple streams
logsynth run nginx redis --stream nginx:rate=100 --stream redis:rate=20 --duration 5m
- Jinja2 templating - Use {{ field }} and {% if %} syntax for complex patterns (auto-detected)
pattern: |
{% if level == "ERROR" %}ALERT {% endif %}{{ ts }} {{ level }}: {{ message }} - Conditional field generation - Generate fields only when conditions are met
error_code:
type: int
when: "level == 'ERROR'" - Configuration profiles - Save and reuse settings
logsynth profiles create high-volume --rate 1000 --format json
logsynth run nginx --profile high-volume - Plugin system - Extend with custom field types in ~/.config/logsynth/plugins/
Improvements
- Docker support with multi-stage build
- 24 new CLI integration tests (106 total)
- Example templates for all new features
- Comprehensive documentation updates
Full Changelog
Added
- --stream option for per-stream rate/format configuration
- --profile option to apply saved configuration profiles
- when: clause for conditional field generation
- Jinja2 template auto-detection and rendering
- Plugin loading from ~/.config/logsynth/plugins/
- logsynth profiles subcommands (list, show, create)
- Dockerfile and .dockerignore
- Examples directory with templates, plugins, and profiles
- GitHub Actions CI/CD workflows
- Pre-commit hooks configuration
- CONTRIBUTING.md