Skip to main content

The Python logging micropackage

Project description

notch

🪓 The Python logging micropackage

Purpose

You can use notch to quickly configure logging for your Python application. I designed notch to encapsulate and standardize logging configuration for Python applications that are deployed as container workloads. The default settings work in many simple cases, and you can further customize logging behavior with environment variables.

Usage

Import notch and call configure() to configure logging in your application entrypoint.

import notch

notch.configure()

Call configure() as early as possible in your application startup, because notch in turn calls logging.basicConfig() to configure the logging system.

Using the default settings, notch will configure the root logger to send logs to sys.stdout, set the log level to INFO, and set the log format to '%(levelname)s [%(name)s] %(message)s'.

Configuration

You can change the behavior of notch by setting environment variables.

  • LOG_LEVEL: change the log level for the root logger. This can be any level the Python logging module recognizes: DEBUG, INFO (the default), WARNING, ERROR, or CRITICAL.
  • LOG_FORMAT: change the format for log output. Use any placeholders defined in the Python logging documentation.
  • OTHER_LOG_LEVELS: change the log level for loggers other than the root logger. See the explanation below.

Setting log levels for other modules

If you use third-party packages, you may want to set log levels for these packages independently. For example, you may want to see DEBUG logs for your own code, but only WARNING messages for other modules. You can do this by setting the OTHER_LOG_LEVELS environment variable.

The value of this variable should be a module name and a log level separated by a colon. You can set log levels for multiple modules by separating entries with a space.

OTHER_LOG_LEVELS=first_module:WARNING second_module:ERROR

For a concrete example, if your application depends on boto3 but you only want to see errors from boto3-related modules in your logs, configure like this:

OTHER_LOG_LEVELS=boto3:ERROR botocore:ERROR

You can specify submodules as well if you need to be more specific:

OTHER_LOG_LEVELS=apscheduler.scheduler:WARNING

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

notch-2025.2.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

notch-2025.2-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file notch-2025.2.tar.gz.

File metadata

  • Download URL: notch-2025.2.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.17

File hashes

Hashes for notch-2025.2.tar.gz
Algorithm Hash digest
SHA256 fedbe3d8bbaf41bf60e363b5957cf3e7734d9d5534816f04b538bbf81b0a60c0
MD5 f4d997569c3498e6e18edeba69e49081
BLAKE2b-256 89e4b468a58c6be0c77585b51136d1bb9a978753f677e38e1e182d9ac0e42ef1

See more details on using hashes here.

File details

Details for the file notch-2025.2-py3-none-any.whl.

File metadata

  • Download URL: notch-2025.2-py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.17

File hashes

Hashes for notch-2025.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b8cf6d787a78b63060f8900000e45dd0247759849188ff4bfc55f06077e33614
MD5 1109ec4a1fafc0df4894948e2204f7cb
BLAKE2b-256 c211ef4257cbf5315308d72cf718524f566685c503493cef40ae3926f222e650

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page