🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

python-json-log-formatter

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

python-json-log-formatter

Supplements a default formatter configuration for machine-readable JSON logging and applies it

3.7.0
Maintainers
1

python-logger

Supplements a default formatter configuration for machine-readable JSON logging and applies it.

This module should be included as a sub-module in python projects with logging. Please avoid copy-pasting as no updates can be supplied that way.

Usage

  • Install the module via the requirements.txt or per CLI: pip install python-json-log-formatter
  • Please include the PythonLogger module, using a from module import class statement.
  • After the imports, please declare a version constant.
    This constant should use semantic versioning, with a prepended date (YYYY/MM/DD).
    Other examples, without the date, can be found here
  • Before any argument parsing or any other logging, the logger should be initialized
  • In EVERY file, the logger needs to be imported using LOGGER = logging.getLogger(__name__)
from python_json_log_formatter import PythonLogger
import logging

VERSION = "1.0.0 (2022/11/24)"
PythonLogger.setup_logger(VERSION)

LOGGER = logging.getLogger(__name__)

Optionally, it is also possible to change the log level:

from python_json_log_formatter import PythonLogger
import logging

VERSION = "1.0.0 (2022/11/24)"
PythonLogger.setup_logger(VERSION, logging.DEBUG)

LOGGER = logging.getLogger(__name__)

Features

Sets the logging format for the root logger and thus for every child logger. In EVERY file where logging happens, please use LOGGER = logging.getLogger(__name__) to get an individual logger. Allows printing exception information on any logging level, not only on the EXCEPTION level but also for INFO or DEBUG. Supply exec_info to print these.

Sets pipeline_status and job_status to failed on CRITICAL, supports minor logging levels (41, etc).

To disable the logging on local machines, supply disable_log_formatting=True when configuring the logger. Alternatively, without code changes, you can supply the ENV var DISABLE_LOG_FORMATTING"=True to generally disable it.

Every attribute of the LogRecord will be included in the formatted message unless specified in the excluded_logging_context_keys list.

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts