如何禁用 pyppeteer 中的日志记录
How to disable logging in pyppeteer
我正在使用 pyppeteer 截取图像以制作 pdf,但 pyppeteer 自动记录我截取的所有内容,并且由于服务器限制,日志被写入文件,日志使我的服务器崩溃。
有没有办法完全禁用日志记录?我已经试过了:
'logLevel': logging.NOTSET,
'env': {'DEBUG': 'puppeteer:*,-not_this'},
我也试过像这样禁用日志记录:
logging.getLogger('pyppeteer').setLevel(logging.NOTSET)
似乎没有任何效果。
更新
我设法找到了一个变通方法,虽然不是通过禁用应用程序中的所有日志记录的解决方案,如下所示:
logging.disable(logging.CRITICAL)
# pyppeteer code...
logging.disable(logging.NOTSET)
这应该将所有错误记录到一个文件中。
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'simple': {
'format': '{asctime} {name}] {message}',
'style': '{',
}
},
'handlers': {
'file': {
'level': 'ERROR',
'class': 'logging.FileHandler',
'filename': 'error.log',
'formatter': 'simple',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
'': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': False,
},
},
}
试试这个:
logging.getLogger("<logger name>").disabled = True
如果您想禁用所有记录器,您可以使用:
for name in logging.root.manager.loggerDict:
# print("logger", name)
logging.getLogger(name).disabled = True
或者如果您想禁用除您创建的某些记录器之外的所有记录器:
allowed_loggers = ['some_logger']
for name in logging.root.manager.loggerDict:
# print("logger", name)
if name in allowed_loggers:
continue
logging.getLogger(name).disabled = True
我正在使用 pyppeteer 截取图像以制作 pdf,但 pyppeteer 自动记录我截取的所有内容,并且由于服务器限制,日志被写入文件,日志使我的服务器崩溃。
有没有办法完全禁用日志记录?我已经试过了:
'logLevel': logging.NOTSET,
'env': {'DEBUG': 'puppeteer:*,-not_this'},
我也试过像这样禁用日志记录:
logging.getLogger('pyppeteer').setLevel(logging.NOTSET)
似乎没有任何效果。
更新
我设法找到了一个变通方法,虽然不是通过禁用应用程序中的所有日志记录的解决方案,如下所示:
logging.disable(logging.CRITICAL)
# pyppeteer code...
logging.disable(logging.NOTSET)
这应该将所有错误记录到一个文件中。
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'simple': {
'format': '{asctime} {name}] {message}',
'style': '{',
}
},
'handlers': {
'file': {
'level': 'ERROR',
'class': 'logging.FileHandler',
'filename': 'error.log',
'formatter': 'simple',
},
},
'loggers': {
'django': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': True,
},
'': {
'handlers': ['file'],
'level': 'ERROR',
'propagate': False,
},
},
}
试试这个:
logging.getLogger("<logger name>").disabled = True
如果您想禁用所有记录器,您可以使用:
for name in logging.root.manager.loggerDict:
# print("logger", name)
logging.getLogger(name).disabled = True
或者如果您想禁用除您创建的某些记录器之外的所有记录器:
allowed_loggers = ['some_logger']
for name in logging.root.manager.loggerDict:
# print("logger", name)
if name in allowed_loggers:
continue
logging.getLogger(name).disabled = True