在我的程序中,我需要记录很多图像。为了方便调试,我决定使用以下库来格式化消息并全部显示在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标签。