Логирование наследования в PythonPython

Программы на Python
Ответить
Anonymous
 Логирование наследования в Python

Сообщение Anonymous »

В настоящее время я разрабатываю основной пакет утилит, в котором хочу установить некоторые свойства журналирования (я знаю, что это не лучшая практика, но он предназначен для внутренних целей и предназначен для создания журналов). Когда я теперь импортирую пакет, ничего не регистрируется:

Код: Выделить всё

# core.__main__.py

class BaseLoggerConfig(BaseModel):

LOG_FORMAT: str = "%(levelprefix)s %(asctime)s  %(name)s:%(lineno)d: %(message)s"
DATEFMT: str = "%Y-%m-%d %H:%M:%S"

LOG_LEVEL: int = logging.INFO

version: int = 1
disable_existing_loggers: bool = False
formatters: dict = {
"default": {
# "()": "uvicorn.logging.DefaultFormatter",
"fmt": LOG_FORMAT,
"datefmt": DATEFMT,
},
}
filters: dict = {}

handlers: dict = {
"default": {
"formatter": "default",
"class": "logging.StreamHandler",
"stream": "ext://sys.stderr",
}
}

loggers: dict = {}

def __init__(self, name: str, **data):
super().__init__(**data)

self.loggers[name] = {
"handlers": ["default"],
"level": self.LOG_LEVEL,
"propagate": False,
}

LOG_CONFIG = BaseLoggerConfig(__name__)

logging.config.dictConfig(LOG_CONFIG)

Код: Выделить всё

- core.__main__
Level: INFO
Handlers: ['StreamHandler']

Теперь я могу войти в другие файлы, например:

Код: Выделить всё

# core.utils
import logging

logger = logging.getLogger(__name__)

def test():
logger.info(f"I am a log from {__name__}")

Код: Выделить всё

# test.py
import logging
from core.utils import test

logger = logging.getLogger(__name__)

test()

Чего мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»