About outlog
Outlog is a UNIX-style command that can be used to pipe stdout logs to a location on disk or in the cloud without the need of an agent, logrotate, systemd or other configuration files.
Outlog is resilient: it does buffering to temp files to prevent the application from ever blocking when writing to stdout. (Not implemented yet)
Outlog is transparent: it passes through the original stdout without any additional info or error messages.
Use cases
Upload to AWS Logs:
# environment with region and credentials
|
Upload to NewRelic:
|
Pipe stdout to disk files with log rotation, without the need to set up logrotate. (Not implemented yet)
Installation 
To install in ~/.cargo/bin from git:
Command line usage
Roadmap
- Send logs to AWS Logs
- Buffering in-memory
- Splitting by lines
- Read from file instead of just stdout
- Buffering on-disk
- Output to disk files with log rotation
- Compression
- Logging of outlog itself to disk
- Expose Prometheus endpoint of outlog itself
- Distributions
- Cargo
- Tar
- Deb
- Rpm
- Support more outputs
- Cloud providers
- Syslog
- OTLP
License
Outlog is licensed under the GPLv3: https://www.gnu.org/licenses/gpl-3.0.html#license-text
All contributions are welcome.