/logpusher

Push OpenTelemetry log lines easily to a collector

Primary LanguagePythonApache License 2.0Apache-2.0

logpusher

Push OpenTelemetry log lines easily to a collector.

logpusher architecture

Want to do this with OpenTelemetry traces? Try tracepusher. Better still, use them together to correlate logs and traces.

Watch: logpusher in Action

YouTube: logpusher in action with Grafana & Loki.

Uses

Try In Browser

See try logpusher in-browser without installation.

Standalone Binary

See download and use logpusher as a standalone binary

Python Usage

See use logpusher as a Python script.

Docker Usage

See use logpusher as a docker image.

CI Usage

See run a CI pipeline step as a docker image with logpusher.

Dry Run Mode

See dry run mode flag.

Debug Mode

See debug mode flag.

Time Shifting

See time shifting.

Log Attributes

See log attribute types

Insecure Mode

See the insecure flag

Spin up OpenTelemetry Collector

See OpenTelemetry Collector configuration

Adopters

Do you use logpusher? Thanks and we'd love to know!

Submit a PR and add your details to ADOPTERS.md

FAQs

See FAQ.

Breaking Changes

See Breaking changes

Building Standalone Binaries

Note: PyInstaller is platform dependent. You must build on whatever platform you wish to run logpusher on.

When logpusher is released, the build_standalone_binaries.yml workflow completes this step and uploads the resulting binaries to S3 where we (currently manually) attach each generated binary to the release notes.

python -m PyInstaller --onefile logpusher.py

Building Docker Image

Run all build commands from the root directory:

docker buildx build --platform linux/arm64,linux/amd64 --push -t logpusher:dev-ci -f ./docker/ci/Dockerfile .
docker buildx build --platform linux/arm64,linux/amd64 --push -t logpusher:dev -f ./docker/standard/Dockerfile .

Testing

Run the test suite:

pytest

Contributing

All contributions are most welcome!

Get involved:

  • Tackle a good first issue
  • Create an issue to suggest something new
  • File a PR to fix something

Made with contrib.rocks.