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

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

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

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

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

18 ответов

9 просмотров

либо разные логеры нужно использоваться, либо разные уровни сообщений (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
Я могу объяснить зачем: пишу своё консольное оформ...

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

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

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

кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Hi, I have a partitioned table in Postgres that has a composite primary key on 3 columns out of which two columns are partition key columns. Now I have a requirement to add a ...
Sujith
1
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Карта сайта