1# -*- coding: UTF-8 -*-
2
3# 日志模塊
4
5import logging
6
7# 時間模塊
8
9import datetime
10
11# 系統(tǒng)操作模塊
12
13import os
14
15# 日志處理模塊
16
17from logging import handlers
1class LogUtil(object):
2
3 def __init__(self, log_name):
4
5 '''初始化參數(shù)'''
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 # 將日志添加到logger對象中
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 # 將日志添加到logger對象中
18
19 self.logger.addHandler(self.handlers)
20
21 return self.logger
1if __name__ == '__main__':
2 '''
3 控制臺日志輸出調(diào)用
4 '''
5 # logger = LogUtil("測試控制臺日志輸出").console_output()
6
7 # logger.info("我是一個info")
8
9 # logger.debug("我是一個debug")
10
11 # logger.error("我是一個error")
12
13 '''
14 文件內(nèi)日志輸出調(diào)用
15 '''
16
17 logger = LogUtil("測試輸出到文件").file_output(file_path="C:\\")
18
19 logger.info("test")
聯(lián)系客服