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()
|