51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
![]() |
# 标准库
|
|||
|
import traceback, os, logging
|
|||
|
|
|||
|
# 三方库
|
|||
|
import configparser
|
|||
|
|
|||
|
# 自己写的库
|
|||
|
from library.dir_manager import DirManager
|
|||
|
|
|||
|
|
|||
|
class Log(DirManager):
|
|||
|
def __init__(self):
|
|||
|
super(Log, self).__init__()
|
|||
|
|
|||
|
self.log()
|
|||
|
|
|||
|
def log(self):
|
|||
|
# 判断是否存在log文件,如果不存在就创建
|
|||
|
if not os.path.exists(self.log_dir + '//all_operate.log'):
|
|||
|
with open(self.log_dir + '//all_operate.log', 'w') as f:
|
|||
|
pass
|
|||
|
if not os.path.exists(self.log_dir + '//error.log'):
|
|||
|
with open(self.log_dir + '//error.log', 'w') as f:
|
|||
|
pass
|
|||
|
|
|||
|
# 初始化log
|
|||
|
root_logger = logging.getLogger('root')
|
|||
|
root_logger.setLevel(level=logging.DEBUG) # logger级别设置为低级别,代表这个logger可以处理很多级别的日志,更灵活的处理放在logger中的各种handler中
|
|||
|
|
|||
|
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
|||
|
|
|||
|
all_operate_file_handler = logging.FileHandler(self.log_dir + '//all_operate.log') # 输出到文件
|
|||
|
all_operate_file_handler.setLevel(logging.INFO)
|
|||
|
all_operate_file_handler.setFormatter(formatter)
|
|||
|
|
|||
|
error_file_handler = logging.FileHandler(self.log_dir + '//error.log') # 输出到文件
|
|||
|
error_file_handler.setLevel(logging.ERROR)
|
|||
|
error_file_handler.setFormatter(formatter)
|
|||
|
|
|||
|
stream_handler = logging.StreamHandler() # 输出到控制台
|
|||
|
stream_handler.setLevel(logging.INFO)
|
|||
|
stream_handler.setFormatter(formatter)
|
|||
|
|
|||
|
root_logger.addHandler(all_operate_file_handler)
|
|||
|
root_logger.addHandler(error_file_handler)
|
|||
|
root_logger.addHandler(stream_handler)
|
|||
|
|
|||
|
|
|||
|
if __name__ == '__main__':
|
|||
|
x = Log()
|