Я пытаюсь заставить работать регистратор пакетов, но по причине, которая мне не видна, уровень журнала игнорируется даже при добавлении обработчиков. Вот мой код
import logging
import sys
import colorlog
import sentry_sdk
from sentry_sdk.integrations.logging import LoggingIntegration
from in.er.hit import InerhitA, InerhitB
from .utils.exitcodes import ExitCodes
from .utils.constants import EnvVariables
log = logging.getLogger(__name__)
class PackageMainClass(InerhitA, InerhitB):
def __init__(self, *args, **kwargs):
self.debug = kwargs.get('debug')
self.__setup_logging()
super().__init__(*args, **kwargs)
def __setup_logging(self):
formatter = colorlog.ColoredFormatter(
"[{asctime}] [{levelname}] {name}: {message}",
datefmt="%d.%m.%Y %H:%M:%S",
style="{",
)
stdout_handler = logging.StreamHandler(sys.stdout)
stdout_handler.setFormatter(formatter)
stdout_handler.setLevel(logging.DEBUG if self.debug else logging.INFO)
logging.getLogger(__package__).addHandler(stdout_handler)
if EnvVariables.get("SENTRY_DNS") and EnvVariables.get(
"SENTRY_PROJECT"
):
sentry_logging = LoggingIntegration(
level=logging.INFO, event_level=logging.ERROR
)
sentry_sdk.init(
dsn="https://{}@sentry.io/{}".format(
EnvVariables.get("SENTRY_DNS"),
EnvVariables.get("SENTRY_PROJECT"),
),
integrations=[sentry_logging],
ignore_errors=[KeyboardInterrupt]
)
async def start(self, *args, **kwargs):
# Todo
print(logging.getLogger().hasHandlers()) # => True
print(logging.getEffectiveLevel()) # => 30 aka warning
return await super().start(*args, **kwargs)
Что я наблюдаю? Кроме того, когда исправлено, действительно ли регистратор настроен для пакета целом ?
Примечание: код был отформатирован черным и flask8. Также я считаю себя python новичком ie, поэтому, пожалуйста, посоветуйте, когда мой код плохой>. <. </p>