A fast 'read to use' Logging system which provides stdout/file/custom stream with easy syntax and operation. It's a very simple approach of Laravel drivers sorts, by the way, handlers ands drivers are both the same
Project description
Get Started
install
python -m pip install EscribaLogger
Usage
Just import, add drivers and use:
You can output your logs using a pre-configured builtin rich stdout handler
from EscribaLogger import Log
Log.add_driver('stdout') # important!
Log.set_logger_name('CustomName')
Log.info('My info message')
# > [07/16/23 17:01:06] INFO CustomName - My info message
Log file driver
# You can add another driver. In this case, we will add the file driver
Log.add_driver('file')
Log.info('Some message', extra={"context_var": "value"})
# > The message will be stored in "logs/2023-07-16.log"
# > [2023-07-16 16:13:55,100] EscribaLogger.INFO - Some message - {"context_var": "value"}
In the default logging system, handle context variables is a exhausting task. EscribaLogger added the "extra_context" log variable to solve this. You add the context info for any custom driver.
Change default log files storage
# You can change default path to store log files in:
Log.add_driver('file', driver_option={'file_location': 'another/path'})
Log.info('Some message', extra={"context_var": "value"})
# > The message will be stored in "another/path/2023-07-16.log"
# > [2023-07-16 16:13:55,100] EscribaLogger.INFO - Some message - {"context_var": "value"}
Contributing
Setup env
-
init the pyenv:
- Windows:
python -m venv env --prompt escriba-logger-pyenv
- Linux/Unix:
python3 -m venv env --prompt escriba-logger-pyenv
- Windows:
-
activate pyenv:
- Windows (CMD/PowerShell):
env/Scripts/activate.bat
- Windows (GitBash/Cygwin):
source env/Scripts/activate
- Linux/Unix:
source env/bin/activate
- Windows (CMD/PowerShell):
-
Install Dependencies:
- Windows (CMD/PowerShell):
python -m pip install -r requirements.dev.txt
- Linux/Unix:
python -m pip install -r requirements.dev.txt
- Windows (CMD/PowerShell):
Tests
We are using pytest and coverage.py to maintain this project. You can run the tests by using:
# Don't forget activate pyenv!!!
[~/EscribaLogger] -> source env/bin/activate
# run the pytests + coverage
(escriba-logger-pyenv) [~/EscribaLogger] -> python -m coverage run -m pytest -l -v
# it can be simplified using "coverage run -m pytest -l -v"
====================================test session starts ====================================
platform win32 -- Python 3.11.4, pytest-7.4.0, pluggy-1.2.0 -- C:\Users\strov\Documents\github\EscribaLogger\env\Scripts\python.exe
cachedir: .pytest_cache
rootdir: C:\Users\strov\Documents\github\EscribaLogger
configfile: pytest.ini
plugins: anyio-3.7.1, mock-3.11.1
collected 5 items
tests/unit/test_builtin_drivers.py::test_driver_stdout... PASSED [ 20%]
tests/unit/test_builtin_drivers.py::test_driver_stdout... PASSED [ 40%]
tests/unit/test_builtin_drivers.py::test_driver_file_s... PASSED [ 60%]
tests/unit/test_builtin_drivers.py::test_driver_file_s... PASSED [ 80%]
tests/unit/test_extra_content.py::test_extra_context_p... PASSED [100%]
===================================== 5 passed in 0.21s ===================================
Continue below...
the command above will generate the .coverage
file in root path. Now you can generate the coverage report
(escriba-logger-pyenv) [~/EscribaLogger] -> coverage report -m
OR
(escriba-logger-pyenv) [~/EscribaLogger] -> python -m coverage report -m
Or you can create a entire webpage to see the results:
(escriba-logger-pyenv) [~/EscribaLogger] -> coverage html
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 escribalogger-1.22.3.tar.gz
.
File metadata
- Download URL: escribalogger-1.22.3.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.9.3 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9abdc43fd1c40974999cbc10da9fa4f46cdb3921b0a9787b0526f2f1c9937bc9 |
|
MD5 | 50c2632f326dced98f2636cfc2b0598e |
|
BLAKE2b-256 | 7d217f6da28903ce977657120f85ad45ca74b47f9cf903a9cb07f98e8ed3c335 |
File details
Details for the file escribalogger-1.22.3-py3-none-any.whl
.
File metadata
- Download URL: escribalogger-1.22.3-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.9.3 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1460c16e7e028996baf823b3abec1351291a617fc976e7f0b4862bb83d8dc021 |
|
MD5 | 3b3db888b21ebee020c4a465010d6c25 |
|
BLAKE2b-256 | bd13b0c4d3d6e956daaf3f4bd9661801919acbb3842db4445b2bb25cfe200ffa |