相关依赖库
1
2
3
4
5import logging
6
7
8
9import datetime
10
11
12
13import os
14
15
16
17from logging import handlers
初始化全局参数
1class LogUtil(object):
2
3 def __init__(self, log_name):
4
5 '''初始化参数'''
6
7
8
9 self.log_name = log_name
10
11
12
13 self.logger = logging.getLogger(self.log_name)
14
15
16
17 self.logger.setLevel(logging.DEBUG)
18
19
20
21 self.log_time = datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S")
控制台输出
1def console_output(self):
2
3
4
5 self.handlers = logging.StreamHandler()
6
7 self.handlers.setLevel(logging.DEBUG)
8
9
10
11 self.format = logging.Formatter('[%(asctime)s][%(filename)s][line:%(lineno)d][%(levelname)s] - [%(message)s]',
12 "%Y-%m-%d %H:%M:%S")
13
14 self.handlers.setFormatter(self.format)
15
16
17
18 self.logger.addHandler(self.handlers)
19
20 return self.logger
文件内输出
1def file_output(self, file_path="/usr/data/load/", file_name="log"):
2
3
4
5 self.file_full_path = os.path.join(file_path, file_name + ".log")
6
7 self.handlers = handlers.TimedRotatingFileHandler(self.file_full_path, when='midnight',
8 interval=1, backupCount=50)
9
10
11
12 self.format = logging.Formatter('[%(asctime)s][%(filename)s][line:%(lineno)d][%(levelname)s] - [%(message)s]',
13 "%Y-%m-%d %H:%M:%S")
14
15 self.handlers.setFormatter(self.format)
16
17
18
19 self.logger.addHandler(self.handlers)
20
21 return self.logger
调用日志模块
1if __name__ == '__main__':
2 '''
3 控制台日志输出调用
4 '''
5
6
7
8
9
10
11
12
13 '''
14 文件内日志输出调用
15 '''
16
17 logger = LogUtil("测试输出到文件").file_output(file_path="C:\\")
18
19 logger.info("test")