Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Какое имя задать логерам питона? / 5 сообщений из 5, страница 1 из 1
23.08.2021, 15:19
    #40092702
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какое имя задать логерам питона?
Подскажите, какое имя задать логеру подключаемого модуля?
Я так понимаю лучший вариант, чтобы логер вызываемого модуля наследовал вызывающий, т.е. чтобы наследование выполнялось через точку в имени. Правильно ли я рассуждаю? Как автоматически сгенерировать эти имена логеров?

Т.е. есть ожидаю примерно такую картину:

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
# main.py
Import pack1
logging.getLogger('main')
logging.info('test1')
pack.def1()

# pack1.py
def1():
   logging.getLogger('main.pack1')
   logging.info('test2')



Вывод:
# test1
# test2
...
Рейтинг: 0 / 0
24.08.2021, 08:48
    #40092835
iot
iot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какое имя задать логерам питона?
vi0,

посмотрите здесь https://stackoverflow.com/questions/50714316/how-to-use-logging-getlogger-name-in-multiple-modules

от себя могу добавить
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
class AbstractWithLogging:

    def logi(self, *args):
        msg = f'{self.__class__.__name__}.{sys._getframe().f_back.f_code.co_name}'
        for arg in args:
            msg += f'::{arg}'
        logging.info(msg)

    def logw(self, *args):
        msg = f'{self.__class__.__name__}.{sys._getframe().f_back.f_code.co_name}'
        for arg in args:
            msg += f'::{arg}'
        logging.warning(msg)

    def loge(self, err, *args):
        msg = f'{self.__class__.__name__}.{err.__traceback__.tb_frame.f_code.co_name}::{err}::LINE={err.__traceback__.tb_lineno}'
        for arg in args:
            msg += f'::{arg}'
        logging.error(msg)


возможно пригодится
...
Рейтинг: 0 / 0
24.08.2021, 09:14
    #40092841
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какое имя задать логерам питона?
iot,
спасибо, мутная тема с этой иерархией
я думал как то автоматизировать передачу настроек в логеры вызываемых модулей
похоже что либо корневой лучше использовать логер, либо просто один на все модули
последний вариант тут посоветовали

и обойтись без всяких иерархий, за ненадобностью
...
Рейтинг: 0 / 0
24.08.2021, 09:15
    #40092842
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какое имя задать логерам питона?
iot,
а корневой логер чем плох, не подскажите?
...
Рейтинг: 0 / 0
24.08.2021, 14:43
    #40092922
iot
iot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какое имя задать логерам питона?
vi0
iot,
а корневой логер чем плох, не подскажите?
он всем хорош, но мне нужно было внутри методов классов что-то отслеживать, поэтому родился такой подход
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Какое имя задать логерам питона? / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]