170 похожих чатов

Добавил хэндлеры таким образом: logging.basicConfig(handlers=handlers, level=level) Для того чтобы в необходимых местах

проекта инициализировать логгер так и при этом работали хэндлеры:
log = logging.getLogger(__name__)

Всё бы ничего, но некоторые сообщения мне нужно писать только в файл, соответственно для одного логгера надо дропнуть стримхэндлер... Когда я пытаюсь получить существующие хэндлеры у нового логгера я получаю НИЧЕГО:
log = logging.getLogger(__name__)
print(log.handlers)

Может я выбрал неправильный подход и не стоит аттачить хэндлеры в basicConfig? PS: пичарм на это даже ругается... Или есть способ создать логгер, который будет писать только в файл?

18 ответов

17 просмотров

либо разные логеры нужно использоваться, либо разные уровни сообщений (WARNING, INFO, ERROR, …)

twisted.sonnet- Автор вопроса
Ruslan Gilfanov
либо разные логеры нужно использоваться, либо разн...

а есть возможность при текущих настройках инициализировать логгер и дропнуть из него все хендлеры?

twisted.sonnet
а есть возможность при текущих настройках инициали...

В логгерах и хендлерах можно определять фильтры Вот тебе пример из исходников джанги https://github.com/django/django/blob/b996424199cca58f64b77faeaa367b7e7efb9776/django/utils/log.py#L137-L159

twisted.sonnet- Автор вопроса
Alex
В логгерах и хендлерах можно определять фильтры Во...

я сейчас рехнусь) сделал разные логеры, один из них без стримхэндлера(чтобы только в файл писать) и он всё равно пишет в консоль(правда не сразу, а после конфигурации пайтеста и его плагинов)

twisted.sonnet- Автор вопроса
Alex
закинь конфиг на пасту, посмотрю.

оно работает так как мне надо, только на уровне этого модуля https://pastebin.com/uVSJtS6s

twisted.sonnet- Автор вопроса
twisted.sonnet
оно работает так как мне надо, только на уровне эт...

но при использовании в сессии пайтеста - логгер с флагом to_file_only будет в консоли один хер

twisted.sonnet
оно работает так как мне надо, только на уровне эт...

Хэндлеры должны добавлять один раз, иначе будет дичь

twisted.sonnet
оно работает так как мне надо, только на уровне эт...

ты перемудрил. Можно было просто диктконфигом все описать.

twisted.sonnet- Автор вопроса
twisted.sonnet- Автор вопроса
Alex
ты перемудрил. Можно было просто диктконфигом все ...

ну хз.. может быть.. но я не пойму почему оно не работает с пайтестом блять, у меня уже очко аж горит)

twisted.sonnet- Автор вопроса
Alex
https://gist.github.com/Alkalit/9f2cffec1e01dd99bb...

мне нужно два инстанса логгера, один пишет только в файл, другой файл+консоль при одинаковоых уровнял логгирования

twisted.sonnet
мне нужно два инстанса логгера, один пишет только ...

а по какому условию? Ты сам как их разграничиваешь?

twisted.sonnet- Автор вопроса
Tishka17
Странная дичь

Я могу объяснить зачем: пишу своё консольное оформление для pytest отключая его родное. Работает при передаче аргумента во время запуска сессии. Оформление содержит сепараторы, которые делаются логгированием(именно их не надо выводить в консоль если мой интерфейс не включён). Если я это не реализую - при стандартном консольном оформлении pytest будут ещё и мои сепараторы, соответственно будет бардак

twisted.sonnet
Я могу объяснить зачем: пишу своё консольное оформ...

че-то мне это не нравится. Грю, напиши фильтр который будет реагировать на твое оформление. Мне кажется тебе надо просто форматтирование логгера пайтеста переопределить, но хз.

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта