gpt4free

Форк
0
/
_logging.py 
32 строки · 893.0 Байт
1
import sys,logging
2

3
from loguru import logger
4

5
def __exception_handle(e_type, e_value, e_traceback):
6
    if issubclass(e_type, KeyboardInterrupt):
7
        print('\nBye...')
8
        sys.exit(0)
9

10
    sys.__excepthook__(e_type, e_value, e_traceback)
11

12
class __InterceptHandler(logging.Handler):
13
    def emit(self, record):
14
        try:
15
            level = logger.level(record.levelname).name
16
        except ValueError:
17
            level = record.levelno
18

19
        frame, depth = logging.currentframe(), 2
20
        while frame.f_code.co_filename == logging.__file__:
21
            frame = frame.f_back
22
            depth += 1
23

24
        logger.opt(depth=depth, exception=record.exc_info).log(
25
            level, record.getMessage()
26
        )
27

28
def hook_except_handle():
29
    sys.excepthook = __exception_handle
30

31
def hook_logging(**kwargs):
32
    logging.basicConfig(handlers=[__InterceptHandler()], **kwargs)
33

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.