代码拉取完成,页面将自动刷新
同步操作将从 执明神君/DD_Monitor_latest 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# -*- coding: utf-8 -*-
"""全局日志
Note: 仅在入口文件中导入一次
"""
import os
import datetime
import logging
import sys
def get_submod_log(submod_name):
return logging.getLogger('Main' + '.' + submod_name)
class LoggerStream(object):
"""假 stream,将 stdout/stderr 流重定向到日志,避免win上无头模式运行时报错。
ref: https://docs.python.org/3/library/sys.html#sys.__stdout__
"""
def __init__(self, name, level, fileno):
"""
:param logger: 日志实例
:param level: 日志等级
"""
self.logger = get_submod_log(name)
self.level = level
self.fileno = fileno
def fileno(self):
return self.fileno
def write(self, lines):
for line in lines.splitlines():
self.logger.log(self.level, line)
def flush(self):
for handler in self.logger.handlers:
handler.flush()
def init_log(application_path):
log_path = os.path.join(application_path, r'logs/log-%s.txt' % (datetime.datetime.today().strftime('%Y-%m-%d')))
if sys.stderr:
get_submod_log('log').addHandler(logging.StreamHandler())
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(threadName)-12.12s] [%(levelname)-5.5s] %(message)s",
handlers=[
logging.FileHandler(log_path,'w','utf-8'),
logging.StreamHandler()
]
)
else:
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(threadName)-12.12s] [%(levelname)-5.5s] %(message)s",
filename=log_path,
filemode='a'
)
sys.stdout = LoggerStream('STDOUT', logging.INFO, 1)
sys.stderr = LoggerStream('STDERR', logging.ERROR, 2)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。