Skip to content

LogSynth v0.2.0

Choose a tag to compare

@lance0 lance0 released this 05 Dec 19:13
· 8 commits to master since this release

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