#python #python-3.x #logging
Вопрос:
Я хотел добавить некоторые записи в отчеты о цветной печати. Наивный подход состоял в том, чтобы создать функцию
def log_and_print(msg,level='info',color="", reset=""):
if level == 'info':
logging.info(msg)
elif level == 'debug':
logging.debug(msg)
print(color str(msg) reset)
Это работает нормально, но обнаружил, что, конечно, регистрируемый путь больше не является правильным. Есть ли какое-то лучшее решение? Я надеялся, что смогу сохранить функцию log_and_print, так как она используется во многих местах.
Комментарии:
1. Посмотри вокруг github.com/willmcgugan/rich
2. Каков ожидаемый путь и какой путь вы получаете?
3. @Datajack Я полагаю, что источник сообщения журнала будет из другого файла/модуля, а не из
log_and_print
того места, откуда вызывается функция4. @shoaib30 точно. Так что, возможно, предложение с Ричем-правильный подход. В этом случае мне, конечно, пришлось бы переписать все вызовы функции log_and_print.
5. @shoaib30 большое спасибо! Думаю, попробую войти-с-цветами и шибом. Цвет не привязан к уровню журнала. Другим решением было бы, возможно, каким-то образом прочитать путь родительской функции и добавить его в качестве дополнительного параметра для ведения журнала в качестве kwargs. Но кажется немного уродливым в качестве обходного пути.