-
Json Formatters
- AdvJsonFormat
{ "logger": "root", "timestamp": "2021-02-04T23:02:52.522958", "rtimestamp": "2021-02-04T23:02:37.518800", "message": "TEST", "level": "ERROR", "levelno": 40, "location": { "pathname": "<FULL_PATH>\\test_logger.py", "module": "test_logger", "filename": "test_logger.py", "function": "<module>", "line": 16 }, "process": { "number": 2300, "name": "MainProcess" }, "thread": { "number": 12516, "name": "MainThread" }, "v": 1 }
- BunyanFormat
{ "time": "2021-02-04T23:01:00.781Z", "name": "root", "pid": 15504, "level": 40, "msg": "TEST", "hostname": "HerculesPC", "v": 0 }
- JsonFormat
{ "logger": "root", "timestamp": "2021-02-04T23:01:46.435011", "message": "TEST", "level": "ERROR", "levelno": 40, "function": "<module>", "process": { "number": 13316, "name": "MainProcess" }, "thread": { "number": 10704, "name": "MainThread" }, "v": 1 }
-
Text Formatters
- SimpleTextFormat
[DEBUG] [2021-02-04 23:01:46] A Test Debug Log
- CompactTextFormat
[D 2021-02-04 23:01:46 l:root f:<module> ln:5] A Test Log [includesExtras:Yes]
You can install PyLogFormats via pip from PyPI:
$ pip install pylogformats
For an explanation of this, and more usage instructions please visit the documentation
import logging
import sys
from pylogformats import JsonFormat
# Create the logging handler
handler = logging.StreamHandler(sys.stdout)
# Add the formatter class to the handler we just created.
handler.setFormatter(JsonFormat())
# Use basicConfig to setup the loggers.
logging.basicConfig(handlers=[handler], level=logging.DEBUG)
# Use the normal logging methods to see formatted logs in your terminal
logging.critical("Critical Log")
logging.error("Error Log")
logging.warning("Warning Log")
logging.info("Info Log")
logging.debug("Debug Log")
Contributions are very welcome. To learn more, see the Contributor Guide.
Distributed under the terms of the MIT license, PyLogFormats is free and open source software.
If you encounter any problems, please file an issue along with a detailed description.
This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.