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.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef4c5f3a0812c82d5574104741bb50fbb5d1050a73e064f74970123749588e12 |
|
MD5 | cc9c9ea3c44e537d3ae6b63e58fef2cb |
|
BLAKE2b-256 | fa0ccf04e7a020903088dd7de38825df012a7b0dd1e40487f5cc47c8d1d7750e |