log2http watches log files and sends new contents to a specified http endpoint.
Project description
log2http
log2http watches log files and sends new contents to a specified http endpoint. That's it.
Install
You will need Python >= 3.6.
Install the application like this (preferably in a virtualenv):
pip install log2http
Setup
Place a YAML config file like the following at a location of your preference:
-
logfile: /Users/demo/example.log
endpoint: http://endpoint1.example.com/tag/sample
min_lines: 5
-
logfile: /var/log/system.log
endpoint: http://endpoint2.example.com/tag/syslog
min_lines: 2
logfilespecifies the file to watchendpointis the http endpoint you want to send the collected log lines to (as POST). Usually, this will be the url of a logging service, e.g.http://logs-01.loggly.com/bulk/token/tag/example/min_linessets the minimum of lines that must be collected until a http request is made (use this to minimize http overhead per logged event)
Usage
Once installed, you can launch log2http from your terminal:
log2http --config=/path/to/the/config.yml
When log2http is running, create some sample events to see if they are being collected. For example in bash:
for i in {1..6}; do echo "hello world" >> example.log; done
The output should tell you if events are being collected and sent.
You could also start the log collector from Python like this:
from log2http import load_config, LogCollector
config = load_config('/your/path/to/config.yml')
collector = LogCollector(config)
with collector:
collector.start() # will run until interrupted
Watch out: log lines always need to end with a newline character (\n). If a line does not end with a newline character, log2http will wait indefinitely until it is written to the file.
Local development
See requirements-dev.txt for development requirements.
Run tests with pytest.
Run static type checking with mypy --ignore-missing-imports log2http.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file log2http-0.1.1.tar.gz.
File metadata
- Download URL: log2http-0.1.1.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fdf3072c085d1cbd17d09ef13fadfe485656d23ff3a4228c45f8ccdf6e5017a
|
|
| MD5 |
a17b5af289c7f79d6dfa9cfa39ba68c9
|
|
| BLAKE2b-256 |
82cdbce21a319c0b0d2e11bd4020ca2b2e7ed5ab2ab6549454adb4839488622e
|
File details
Details for the file log2http-0.1.1-py3-none-any.whl.
File metadata
- Download URL: log2http-0.1.1-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e3e3dd704fe94ff3395c8676b403e8c9aea6326bf85e5145484b9444d103020
|
|
| MD5 |
4dc6387f8b1aa8577413e46801c1ac1f
|
|
| BLAKE2b-256 |
c0fcaa7793857ad202ddde50b28d7fcd0c5f2d4de619e1cd90201538306d38d8
|