This package provides a compatible interface for automatically routing
gunicorn
logs to the popular loguru
library.
Install the package:
pip install loguricorn
Then pass the custom interface to gunicorn at runtime:
gunicorn --logger-class loguricorn.Logger tests.app:app
All log records will now be routed through the default loguru.logger
.
It's possible to customize the loguru.logger
instance before gunicorn
initializes itself. Simply add your changes in a configuration file and pass it
to gunicorn at runtime:
import sys
from loguru import logger
logger.remove()
logger.add(
sys.stderr,
colorize=True,
format="<green>{time}</green> <level>{message}</level>",
)
gunicorn -c conf.py --logger-class loguricorn.Logger tests.app:app
It's recommended to import any customizations from your main application and use them in the configuration in order to obtain a consistent log record format across the entire execution.
Testing is done by starting gunicorn
in a subprocess with the custom logger
enabled and validating that the emitted logs match the expected format.
Install dev dependencies:
poetry install
Run test:
poetry run tox .
Check out the issues for items needing attention or submit your own and then:
- Fork the repo
- Create your feature branch (git checkout -b feature/fooBar)
- Commit your changes (git commit -am 'Add some fooBar')
- Push to the branch (git push origin feature/fooBar)
- Create a new Pull Request