|
|
A high-performance, pipeline-based log transport and processing system built in Go. LogWisp provides flexible log collection, filtering, formatting, and distribution with enterprise-grade security and reliability features.
- Pipeline Architecture: Independent processing pipelines with source(s) → filter → format → sink(s) flow
- Multiple Input Sources: Directory monitoring, stdin, HTTP, TCP
- Flexible Output Sinks: Console, file, HTTP SSE, TCP streaming, HTTP/TCP forwarding
- Real-time Processing: Sub-millisecond latency with configurable buffering
- Hot Configuration Reload: Update pipelines without service restart
- Pattern-based Filtering: Chainable include/exclude filters with regex support
- Multiple Formatters: Raw, JSON, and template-based text formatting
- Rate Limiting: Pipeline rate control
- Authentication: mTLS support for HTTPS
- TLS Encryption: TLS 1.2/1.3 support for HTTP connections
- Access Control: IP whitelisting/blacklisting, connection limits
- Automatic Reconnection: Resilient client connections with exponential backoff
- File Rotation: Size-based rotation with retention policies
- Status Monitoring: Real-time statistics and health endpoints
- Signal Handling: Graceful shutdown and configuration reload via signals
- Background Mode: Daemon operation with proper signal handling
- Quiet Mode: Silent operation for automated deployments
Available in doc/ directory.
- Installation Guide - Platform setup and service configuration
- Architecture Overview - System design and component interaction
- Configuration Reference - TOML structure and configuration methods
- Input Sources - Available source types and configurations
- Output Sinks - Sink types and output options
- Filters - Pattern-based log filtering
- Formatters - Log formatting and transformation
- Security - mTLS configurations and access control
- Networking - TLS, rate limiting, and network features
- Command Line Interface - CLI flags and subcommands
- Operations Guide - Running and maintaining LogWisp
Install LogWisp and create a basic configuration:
[[pipelines]]
name = "default"
[[pipelines.sources]]
type = "directory"
[pipelines.sources.directory]
path = "./"
pattern = "*.log"
[[pipelines.sinks]]
type = "console"
[pipelines.sinks.console]
target = "stdout"Run with: logwisp -c config.toml
- Operating Systems: Linux (kernel 6.10+), FreeBSD (14.0+)
- Architecture: amd64
- Go Version: 1.25+ (for building from source)
BSD 3-Clause License