我使用的是日志类内置的python。我只想在发生错误时注销,但是当它发生时,为了调试的目的,我想注销所有的东西直到那个时候。你知道吗
如果我也能重置它,那就太好了,这样长时间运行的进程就不会包含千兆字节的日志。你知道吗
举个例子。我有一个处理一百万个小部件的过程。处理一个小部件可能很复杂,需要几个步骤。如果处理失败,了解该小部件到目前为止的所有日志会很有帮助。你知道吗
from random import randrange
logger = logging.getLogger()
for widget in widgetGenerator():
logger.reset()
widget.process(logger)
class Widget():
def process(self, logger):
logger.info('doing stuff')
logger.info('do more stuff')
if randrange(0, 10) == 5:
logger.error('something bad happened')
10次中的1次将打印以下内容:
doing stuff
doing more stuff
something bad happened
但是正常的日志不会被打印。你知道吗
这可以用logger完成吗?或者我需要自己实现吗?你知道吗
使用
MemoryHandler
来缓冲使用阈值(例如ERROR
)的记录,并使MemoryHandler
的target
属性指向写入控制台或文件的处理程序。然后,只有在程序执行期间达到阈值(例如ERROR
)时才应出现输出。你知道吗相关问题 更多 >
编程相关推荐