No project description provided
Project description
Configure Python logging from environment variables with pydantic (settings) Model
Installation
pip install pydantic-loggings
Usage
out of the box
from pydantic_loggings.base import Logging # base Logging
logger = Logging().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().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]
).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"]}}'
Logging
s
- not_set
- base
- rich
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for pydantic_loggings-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fe1de4ffb05026631c5ad2260a5979a43f972bf2f8287a4614848b4ffa3ba13 |
|
MD5 | 95c130ebcd714e9bbbc2f34c802756f8 |
|
BLAKE2b-256 | 9378d7ecbc97379317d9fa20ab3aabeb15f438ac0b3df3f9517708846b5a38d3 |