Skip to main content

No project description provided

Project description

Configure Python logging from environment variables with pydantic (settings) Model PyPI

Installation

pip install pydantic-loggings

Usage

out of the box

from pydantic_loggings.base import Logging # base Logging


logger = Logging().configure_and_get_logger()

logger.debug('debug')
logger.info('info')
logger.warning('warning')

# 01-01 00:00:00 DEBUG   debug
# 01-01 00:00:00 INFO    info
# 01-01 00:00:00 WARNING warning

default logging

from pydantic_loggings.not_set import Logging


logger = Logging().configure_and_get_logger()
logger.debug('debug')
logger.info('info')
logger.warning('warning')

# warning

config from env file

from pathlib import Path

from pydantic_loggings.not_set import Logging


env_file = Path(__file__).parent / '.env'
logger = Logging(
    _env_file=env_file  # pyright: ignore [reportGeneralTypeIssues]
).configure_and_get_logger()

logger.debug('debug')
logger.info('info')
logger.warning('warning')

# 01-01 00:00:00 [root]   DEBUG (main.py:11) debug
# 01-01 00:00:00 [root]    INFO (main.py:12) info
# 01-01 00:00:00 [root] WARNING (main.py:13) warning
# .env
log__formatters__my_formatter__datefmt='%m-%d %H:%M:%S'
log__formatters__my_formatter__format='{asctime} [{name}] {levelname:>7} ({filename}:{lineno}) {message}'
log__formatters__my_formatter__style='{'

log__handlers__my_handler__class_='logging.StreamHandler'
log__handlers__my_handler__formatter='my_formatter'

log__loggers__root__level='DEBUG'
log__loggers__root__handlers='["my_handler"]'

# is equivalent to:

# log__formatters__my_formatter='{"datefmt":"%m-%d %H:%M:%S","format":"{asctime} [{name}] {levelname:>7} ({filename}:{lineno}) {message}","style":"{"}'
# log__handlers__my_handler='{"class_":"logging.StreamHandler","formatter":"my_formatter"}'
# log__loggers__root='{"level":"DEBUG","handlers":["my_handler"]}'

# and/or:

# log__formatters='{"my_formatter":{"datefmt":"%m-%d %H:%M:%S","format":"{asctime} [{name}] {levelname:>7} ({filename}:{lineno}) {message}","style":"{"}}'
# log__handlers='{"my_handler":{"class_":"logging.StreamHandler","formatter":"my_formatter"}}'
# log__loggers='{"root":{"level":"DEBUG","handlers":["my_handler"]}}'

Loggings

  • not_set
  • base
  • rich

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

pydantic-loggings-0.21.1.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

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

pydantic_loggings-0.21.1-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file pydantic-loggings-0.21.1.tar.gz.

File metadata

  • Download URL: pydantic-loggings-0.21.1.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.3 tqdm/4.65.0 importlib-metadata/6.7.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.12

File hashes

Hashes for pydantic-loggings-0.21.1.tar.gz
Algorithm Hash digest
SHA256 224a83e2ad005f8a2e6c4979bea06d69bd6eb16fed1bd033bdb71799d600b9d7
MD5 20b839fc505808c083d23a5650ccfbd4
BLAKE2b-256 b8d77c829671beda5304ca169f34ed5566e5a34f77190081672b2ab62ba8b640

See more details on using hashes here.

File details

Details for the file pydantic_loggings-0.21.1-py3-none-any.whl.

File metadata

  • Download URL: pydantic_loggings-0.21.1-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/2.0.3 tqdm/4.65.0 importlib-metadata/6.7.0 keyring/24.2.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.12

File hashes

Hashes for pydantic_loggings-0.21.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ef4c5f3a0812c82d5574104741bb50fbb5d1050a73e064f74970123749588e12
MD5 cc9c9ea3c44e537d3ae6b63e58fef2cb
BLAKE2b-256 fa0ccf04e7a020903088dd7de38825df012a7b0dd1e40487f5cc47c8d1d7750e

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