A utility for logging events in Python projects
Project description
python-logging
The log_event function is a utility for logging events in Python projects. It provides a consistent and flexible way to log successes, errors, and other events, and supports multiple output options such as logging to a file or pushing the logs to Elasticsearch.
Features
- Logs events with the following fields: message, function name, project name, version, and status (success or error).
- Optionally logs error tracebacks in case of errors.
- Supports logging to a file, with the option to specify the file name and log rotation settings.
- Supports logging to Elasticsearch, with the option to specify the Elasticsearch host and port, and other connection settings.
- Provides a generalized function that can be easily integrated into any Python project.
Installation
To install the log_event function, you will need to install the following dependencies:
- logging: A built-in Python library for logging events.
- traceback: A built-in Python library for printing stack traces in case of errors.
- uuid: A built-in Python library for generating unique IDs.
- elasticsearch: A third-party library for pushing logs to Elasticsearch.
- You can install these dependencies by running the following command:
pip install -r requirements.txt
Usage
To use the log_event function, you will need to import it into your Python code and call it with the appropriate arguments. Here is an example of how to log a success event:
from log_event import log_event
log_event('success', "Test message", function_name='test_function', project_name='test_project', version='1.0.0')
This will log a success event with the message 'Test message', the function name 'test_function', the project name 'test_project', and the version '1.0.0'. To log an error event, you can pass the error argument with an Exception object:
from log_event import log_event
try:
# Some code that may throw an exception
raise Exception('Test error')
except Exception as e:
log_event('error', "Test error", function_name='test_function', error=e, project_name='test_project', version='1.0.0')
This will log an error event with the message 'Test error', the function name 'test_function', the project name 'test_project', and the version '1.0.0'. The error traceback will also be logged.
To log to a file, you can pass the save_to_file argument with a value of True and the file_name argument with the desired file name:
from log_event import log_event
log_event('success', "Test message", function_name='test_function', project_name='test_project', version='1.0.0', save_to_file=True, file_name='test.txt')
This will log the event to the file 'test.txt'.
Project details
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
File details
Details for the file a8logging-1.0.5.tar.gz
.
File metadata
- Download URL: a8logging-1.0.5.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3aee08f7f6c76694b66af7237145a5d1bb775cb31dbe774736ddfd7f7f73ee7 |
|
MD5 | 0359e32739679886a2aba1d26177eb72 |
|
BLAKE2b-256 | c0d0df01da492bed0283a587b45674a428da0b008face7496fce007eeb6b16ca |
File details
Details for the file a8logging-1.0.5-py3-none-any.whl
.
File metadata
- Download URL: a8logging-1.0.5-py3-none-any.whl
- Upload date:
- Size: 3.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d44745912b5fd3ed244a6b706b47690ece5b00485dead9b4dbb38ece912375e7 |
|
MD5 | 916e4e284fc5463363d80643169d926f |
|
BLAKE2b-256 | b7f177452593e217cba89c6a2dac7c9ebf697128d4b0f0bdfa0de86d2bcd1500 |