Pull to refresh

Comments 16

(Примечание: в статье можно вставить реальный скриншот)

После публикации вы получите $0.15 на ваш счёт от OpenAI. Не забудьте удалить последний абзац перед публикацией.

Я заранее пишу статью!) Расписываю сначала план, а потом начинаю ее заполнять. Я хотел туда поставить картинку но забыл)

В мемориз своей нейронки. Особенно важно значение переменных.

Понравилось, буду использовать.
Но читая статью всё ждал когда же будет пример выноса настройки логгирования через конфиг-файл. Ведь в продакшн мы не будем перекомпилировать приложение из исходников только чтобы поменять уровень логгирования или расположение логов!
Нашёл, что для этого есть модуль loguru-config, изучу сам.

нехорошие три строчки настройки стандартного логгера превратились в двадцать хороших строчек настройки логгера внешнего

А как можно в отдельной функции вызвать логгер. Чтобы логирование в этой функции шло в определенный файл?

Сам спросил, сам решил :))

from loguru._logger import Logger, Core


class Logging(Logger):
    core=Core()
    exception=None
    depth=0
    record=False
    lazy=False
    colors=False
    raw=False
    capture=True
    patchers=[]
    extra={}

    def __init__(self):
        super().__init__(
            self.core,
            self.exception,
            self.depth,
            self.record,
            self.lazy,
            self.colors,
            self.raw,
            self.capture,
            self.patchers,
            self.extra
        )

Спасибо, интересно.

"Я не настоящий сварщик" (с), пока обходился самописными костылями в текстовый файл.

"те же яйца, только в профиль".... единственно, интересная идея с декоратором (ИМХО, конечно)

Статья вроде неплохая для людей кто пользуется print для отладки так вообще 10/10. Но есть спорные моменты, такие как ругательство на logging за сложную и громоздкую настройку в начале статьи, а позже автор сам создает отдельные модуль для управления логами схожий по громоздкости, так получается зря ругали?

Правило для продакшена: всегда отключайте диагностику.

# НЕ ДЕЛАЙТЕ ТАК В ПРОДАКШЕНЕ

@logger.catch

def process_user_data(user, password):

# ...

# ДЕЛАЙТЕ ТАК В ПРОДАКШЕНЕ

@logger.catch(diagnose=False)

def process_user_data(user, password):

# ...

А есть вариант глобально урегулировать этот параметр, а не менять везде декораторы?

Пять-шесть строк кода только для того, чтобы начать.

Сложна! Надо срочно притащить еще одну зависимость в проект!

Отдельный респект за "задания для закрепления"

Похоже на переизобретение logger'а из twisted

Sign up to leave a comment.

Articles