PyLogFormats#
Features#
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]
Installation#
You can install PyLogFormats via pip from PyPI:
$ pip install pylogformats
Usage#
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")
Contributing#
Contributions are very welcome. To learn more, see the Contributor Guide.
License#
Distributed under the terms of the MIT license, PyLogFormats is free and open source software.
Issues#
If you encounter any problems, please file an issue along with a detailed description.
Credits#
This project was generated from @cjolowicz’s Hypermodern Python Cookiecutter template.