最后编辑于2022-04
之前为了解决AI Studio界面刷新后无法看到输出,写了一小段来解决( https://aistudio.baidu.com/aistudio/projectdetail/380314 )。
但是paddle官方更倾向于让我们用logger来解决这个问题,刚好在参加最近的活动时,基线里总是有这句话:
from parl.utils import logger
所以就研究了一下源码,对应的地方是这么写的:
def _getlogger():
logger = logging.getLogger('PARL')
logger.propagate = False
logger.setLevel(logging.DEBUG)
if 'DEBUG' in os.environ:
handler = logging.FileHandler('parl_debug.log')
handler.setFormatter(_Formatter(datefmt='%m-%d %H:%M:%S'))
logger.addHandler(handler)
return logger
if 'XPARL' not in os.environ:
handler = logging.StreamHandler(sys.stdout)
handler.setFormatter(_Formatter(datefmt='%m-%d %H:%M:%S'))
logger.addHandler(handler)
return logger
_logger = _getlogger()
所以,只要在执行 import之前,运行这两行就可以把输出同时写进文件 parl_debug.log :
import os
os.environ['DEBUG']='DEBUG'
os.environ['XPARL']='XPARL'
但是如果已经import了,需要强制再执行一次,类似这样:
from parl.utils import logger
logger._logger=logger._getlogger()
当然,如果直接 import logging 来搞,就更自由了。
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
赞,很多地方需要用到