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().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"]}}'
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-0.21.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f24f81c1b62256d01f878c5dc57fe5758c65c3b7dded9135d6387b51752e1339 |
|
MD5 | ce335690ca2b9c1a7c4743a39216b0cf |
|
BLAKE2b-256 | 439086e162eafd94adc680042f1bd7b9089df3922b0446a2f11e596305151393 |