Как заставить замолчать библиотеку утилит по умолчаниюPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как заставить замолчать библиотеку утилит по умолчанию

Сообщение Anonymous »

У нас есть несколько коммунальных библиотек, которые имеют внутренние вызовы регистрации. Я считаю, что они не должны распространяться в приложения, если только явно запрошен. Но это не идеально, поскольку критические вызовы все еще будут отображаться. < /P>
Как это сделать? Без прикосновения к уровням журнала?import logging
from utility_library import to_integer

logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
handlers=[logging.StreamHandler()],
)

logger = logging.getLogger(__name__)
logger.debug("Starting verbose")
logger.info("Starting simple")

enable_utility_logging = True
if enable_utility_logging:
utility_logger = logging.getLogger("utility_library")
utility_logger.setLevel(logging.DEBUG)

try:
to_integer(1.234)
except Exception as e:
logger.error(e)

try:
to_integer("1.234")
except Exception as e:
logger.error(e)
< /code>
utility_library.py
import logging

logger = logging.getLogger(__name__)
# logger.addHandler(logging.NullHandler())
logger.setLevel(logging.CRITICAL) # is this needed?

def to_integer(value: int):
try:
logger.debug(f"Converting: {value} [{type(value)}]")
integer = int(value)
logger.info(f"Converted: {integer}")
return integer
except Exception as e:
logger.error(f"Failed to convert: {e}")
raise e

output - enable_utility_logging = false
2025-01-29 11:49:25,317 - __main__ - INFO - Starting simple
2025-01-29 11:49:25,332 - __main__ - ERROR - invalid literal for int() with base 10: '1.234'

output - enable_utility_logging = true
2025-01-29 11:48:19,238 - __main__ - INFO - Starting simple
2025-01-29 11:48:19,238 - utility_library - DEBUG - Converting: 1.234 []
2025-01-29 11:48:19,253 - utility_library - INFO - Converted: 1
2025-01-29 11:48:19,253 - utility_library - DEBUG - Converting: 1.234 []
2025-01-29 11:48:19,253 - utility_library - ERROR - Failed to convert: invalid literal for int() with base 10: '1.234'
2025-01-29 11:48:19,253 - __main__ - ERROR - invalid literal for int() with base 10: '1.234'


Подробнее здесь: https://stackoverflow.com/questions/793 ... by-default
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как заставить замолчать библиотеку утилит по умолчанию
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как заставить Serilog замолчать в интеграционных тестах с новой минимальной моделью хостинга .NET 6
    Гость » » в форуме C#
    0 Ответы
    40 Просмотры
    Последнее сообщение Гость
  • Как заставить замолчать -дурискую по -видимому на нестабильных значениях
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как заставить замолчать -дурискую по -видимому на нестабильных значениях
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как заставить замолчать -дурискую по -видимому на нестабильных значениях
    Anonymous » » в форуме C++
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

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