代码拉取完成,页面将自动刷新
#coding=utf-8
import os
import logging.config
from logging import getLogger, INFO
from cloghandler import ConcurrentRotatingFileHandler
def set_logger():
logger = getLogger()
logfile = os.path.abspath('./output/log.txt')
logging.config.dictConfig({
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'verbose': {
'format': "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
'datefmt': "%Y-%m-%d %H:%M:%S"
},
'simple': {
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'file': {
'level': 'DEBUG',
# 如果没有使用并发的日志处理类,在多实例的情况下日志会出现缺失
'class': 'cloghandler.ConcurrentRotatingFileHandler',
# 当达到10MB时分割日志
'maxBytes': 1024 * 1024 * 10,
# 最多保留50份文件
'backupCount': 50,
# If delay is true,
# then file opening is deferred until the first call to emit().
'delay': True,
'filename': './output/log.txt',
'formatter': 'verbose'
}
},
'file': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
# 当达到10MB时分割日志
'maxBytes': 1024 * 1024 * 10,
# 最多保留50份文件
'backupCount': 50,
# If delay is true,
# then file opening is deferred until the first call to emit().
'delay': True,
'filename': './output/log.txt',
'formatter': 'verbose'
},
'loggers': {
'': {
'handlers': ['file'],
'level': 'INFO',
},
}
})
#rotateHandler = ConcurrentRotatingFileHandler(logfile, "a")
#logger.addHandler(rotateHandler)
#logger.setLevel(INFO)
return logger
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。