мета-данные страницы
Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| lib.py:aw_log:api [30.10.2024 16:03] – создано awgur | lib.py:aw_log:api [03.11.2024 16:45] (текущий) – awgur | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Общее ====== | ====== Общее ====== | ||
| - | Каждый модуль может (и должен) иметь свой собственный объект класса журналирования. Получение этого объекта можно выполнить через передачу его параметром либо через получение общей функцией, | + | Каждый модуль может (и должен) иметь свой собственный объект класса журналирования. Получение этого объекта можно выполнить через передачу его параметром либо через получение общей функцией, |
| + | |||
| + | У объекта обязательно задаётся префикс, | ||
| + | |||
| + | |||
| + | ====== alert(), err(), warn(), debug() ====== | ||
| + | |||
| + | Данные методы позволяют зарегистрировать в журнале события с соответствующим уровнем важности. | ||
| + | |||
| + | Распределение методов дано в таблице | ||
| + | |||
| + | ^ Уровень важности ^ Метод ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | Все методы вызываются абсолютно идентично. Рассмотрим сигнатуру на примере '' | ||
| + | |||
| + | < | ||
| + | obj.err(msg) | ||
| + | </ | ||
| + | |||
| + | Метод ничего не возвращает. | ||
| + | |||
| + | ^ Параметр ^ Тип ^ Описание ^ | ||
| + | | '' | ||
| + | |||
| + | |||
| + | ====== Регистрация информационных событий ====== | ||
| + | |||
| + | Для регистрации событий и записи сообщений на уровне '' | ||
| + | <code python> | ||
| + | log = SysLog() | ||
| + | log(' | ||
| + | </ | ||
| + | |||
| + | Сигнатура вызова метода аналогична [[# | ||
| + | |||
| + | |||
| + | ====== sub_log() ====== | ||
| + | |||
| + | Метод возвращает объект журнала аналогичного типа. | ||
| + | |||
| + | При этом префикс, | ||
| + | <code bash> | ||
| + | ${parent_prefix}/ | ||
| + | </ | ||
| + | |||
| + | Удобно для передачи объекта потомкам или рабочим процессам. | ||
| + | |||
| + | < | ||
| + | obj.sub_log(name) | ||
| + | </ | ||
| + | |||
| + | **Возвращает: | ||
| + | |||
| + | ^ Параметр ^ Тип ^ Описание ^ | ||
| + | | '' | ||
| + | |||
| + | |||
| + | ====== get_timing() ====== | ||
| + | |||
| + | Возвращает [[.: | ||
| + | |||
| + | < | ||
| + | obj.get_timing([name]) | ||
| + | </ | ||
| + | |||
| + | **Возвращает: | ||
| + | |||
| + | ^ Параметр ^ Тип ^ Описание ^ | ||
| + | | '' | ||
| + | |||
| + | |||
| + | ====== excpt() ====== | ||
| + | |||
| + | Обработка исключений. | ||
| + | |||
| + | Данная обработка полезна в том смысле, | ||
| + | * Тип исключения | ||
| + | * Трассировка стека вызовов | ||
| + | |||
| + | И не ломать при этом структуру журнала, | ||
| + | |||
| + | < | ||
| + | obj.excpt(msg, | ||
| + | </ | ||
| + | |||
| + | Метод ничего не возвращает | ||
| + | |||
| + | ^ Параметр ^ Тип ^ Описание ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | Пример. Для кода: | ||
| + | <code python> | ||
| + | log = StderrLog() | ||
| + | |||
| + | try: | ||
| + | 1 / 0 | ||
| + | |||
| + | except: | ||
| + | log.excpt(' | ||
| + | </ | ||
| + | |||
| + | Будет сгенерирован вывод подобный данному: | ||
| + | < | ||
| + | Mon Jan 01 00:00:23 1970 | # main | Ошибка | ||
| + | Mon Jan 01 00:00:23 1970 | # main | --- EXCEPTION --- | ||
| + | Mon Jan 01 00:00:23 1970 | # main | ZeroDivisionError (division by zero) | ||
| + | Mon Jan 01 00:00:23 1970 | # main | --- TRACEBACK --- | ||
| + | Mon Jan 01 00:00:23 1970 | # main | File: < | ||
| + | Mon Jan 01 00:00:23 1970 | # main | | ||
| + | Mon Jan 01 00:00:23 1970 | # main | >>> | ||
| + | Mon Jan 01 00:00:23 1970 | # main | File: ./ | ||
| + | Mon Jan 01 00:00:23 1970 | # main | coro = func() | ||
| + | Mon Jan 01 00:00:23 1970 | # main | File: / | ||
| + | Mon Jan 01 00:00:23 1970 | # main | self.runcode(code) | ||
| + | Mon Jan 01 00:00:23 1970 | # main | File: ./ | ||
| + | Mon Jan 01 00:00:23 1970 | # main | self.more = self.interpreter.runsource(text, | ||
| + | Mon Jan 01 00:00:23 1970 | # main | File: ./ | ||
| + | Mon Jan 01 00:00:23 1970 | # main | command.run() | ||
| + | Mon Jan 01 00:00:23 1970 | # main | File: ./ | ||
| + | Mon Jan 01 00:00:23 1970 | # main | more, exception_occurred = self.do_add_exec(code_fragment) | ||
| + | Mon Jan 01 00:00:23 1970 | # main | File: ./ | ||
| + | Mon Jan 01 00:00:23 1970 | # main | interpreter.add_exec(code_fragment) | ||
| + | Mon Jan 01 00:00:23 1970 | # main | File: ./ | ||
| + | Mon Jan 01 00:00:23 1970 | # main | process_exec_queue(interpreter) | ||
| + | Mon Jan 01 00:00:23 1970 | # main | File: ./ | ||
| + | Mon Jan 01 00:00:23 1970 | # main | pydevconsole.start_client(host, | ||
| + | Mon Jan 01 00:00:23 1970 | # main | --- END EXCEPTION --- | ||
| + | </ | ||
| + | |||
| + | Как уже отмечалось, | ||