A light-weight socket log receiver
Project description
Socket Log Receiver
socket_log_receiver
is a light-weight socket log receiving server.
The server aggregates messages from multi-process applications via a
socket and logs them to a single file. The service is used with
Python's stdlib logging
package, which by default does not support
multi-process writes to a single file.
Installation
$ pip install socket-log-receiver
Basic Usage
The receiver service should be run as a service:
$ python -m socket_log_receiver # as a module
$ log_receiver # as a command-line program
These are equivalent.
By default, the receiver service starts listening on localhost:9020
.
These can be changed through CLI options; see the Help section below.
In the application, use SocketHandler
to send logs to the receiver
service.
from logging.handlers import SocketHandler
handler = SocketHandler('localhost', 9020) # handler to send logs to localhost:9020
logging.root.addHandler(handler) # add the socket handler to the root logger
This way, the root logger sends logging messages to the receiver service.
Help
$ python -m socket_log_receiver -h
$ log_receiver -h
Undefined Signal
The receiver service's configuration is managed by
resconfig. By default, the
dynamic configuration update is trigged by SIGHUP
. Some systems
might not make this signal available, in which case you could use a
different signal for the trigger using the command-line option, e.g.
$ log_receiver --reloader-signal SIGUSR2
Development
$ pip install -e .[dev]
$ pre-commit install
Running Tests
$ pip install -e .[test]
$ pytest
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
Hashes for socket-log-receiver-24.3.0b0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 122adfb8bb40afb03183752ea70b0b66f7a9b4ed0d732f1804a97367c9f2643c |
|
MD5 | 3d067a247a9f36fc87f1580b71d6975d |
|
BLAKE2b-256 | d028822739f850c9da6de86d4a60f07056146a5a43f54ba89ead18568785eca6 |
Hashes for socket_log_receiver-24.3.0b0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9aae10c8678a089050f656caf880af10416c5be6a74960f6b0ffacdc86eeb451 |
|
MD5 | 0f046b59e4899e32da8aec43d7135e12 |
|
BLAKE2b-256 | fe82929cca23c1bdbccae83ba2e24e35a303a36284daad661f0b13b0c0b6c4b1 |