记录器消息的不同格式

时间:2019-03-14 10:20:37

标签: python-3.x logging

在我的程序中,我需要记录很多图像。为了方便调试,我决定使用以下库来格式化消息并全部显示在html文件中:https://github.com/dchaplinsky/visual-logging

因此,我有一个settings.py文件,用于定义记录器设置:

SESSION_UUID = uuid.uuid1()

DEFAULT_LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
    'standard': {
        'format': '%(asctime)s %(name)-12s %(levelname)-8s %(message)s'
    },
},
'handlers': {
    'default': {
        'level': 'DEBUG',
        'formatter': 'standard',
        'class': 'logging.StreamHandler',
        'stream': 'ext://sys.stdout',  # Default is stderr
    },
    'html_handler': {
        'level': 'INFO',
        'formatter': 'standard',
        'class': 'logging.FileHandler',
        'filename': f'logs/{SESSION_UUID}.html',  # Generate new log file every time
    },
},
'loggers': {
    '': {  # root logger
        'handlers': ['default', 'html_handler'],
        'level': 'INFO',
        'propagate': True
    }
}
}

在我的程序中:

import logging
from logging.config import dictConfig

dictConfig(settings.DEFAULT_LOGGING)
logger = logging.getLogger(__name__)


logger.info(VisualRecord(['My image', myimg1, myimg2]))

我得到一个HTML文件,里面带有漂亮的格式和图像。但是流处理程序显示base64字符串和html标记,这使得调试不方便。

是否可以通过某种方式在控制台中修改消息并删除StreamHandler的base64图像和html标签。

0 个答案:

没有答案