python3+requests接口自動化-日志封裝


1.logger.py這個文件放到common目錄下,封裝日志文件的讀取

2.日志保存到logs文件夾

3.封裝代碼

 1 import logging
 2 import os
 3 import time
 4 
 5 
 6 # log_path是日志存放路徑地址
 7 get_path = os.path.dirname(os.path.abspath(__file__))
 8 log_path = os.path.join(os.path.dirname(get_path),"log")
 9 
10 
11 # 如果不存在這個logs文件夾,就自動創建一個
12 if not os.path.exists(log_path):os.mkdir(log_path)
13 
14 class Log():
15     def __init__(self):
16         # 文件的命名
17         self.logname = os.path.join(log_path,"%s.log"%time.strftime("%Y:%m:%d"))
18         self.logger = logging.getLogger()
19         self.logger.setLevel(logging.DEBUG)
20         # 日志輸出格式
21         self.formatter = logging.Formatter('[%(asctime)s] - %(filename)s] - %(levelname)s: %(message)s')
22 
23     def __console(self,level,message):
24 
25     # 創建一個FileHandler,用於寫到本地
26         fh = logging.FileHandler(self.logname,"a",encoding='utf-8') # 追加模式
27         fh.setLevel(logging.DEBUG)
28         fh.setFormatter(self.formatter)
29         self.logger.addHandler(fh)
30 
31         # 創建一個StreamHandler,用於輸出到控制台
32         ch = logging.StreamHandler()
33         ch.setLevel(logging.DEBUG)
34         ch.setFormatter(self.formatter)
35         self.logger.addHandler(ch)
36 
37         if level == "info":
38             self.logger.info(message)
39         elif level == "debug":
40             self.logger.debug(message)
41         elif level == "warning":
42             self.logger.warning(message)
43         elif level == "error":
44             self.logger.error(message)
45 
46         # 這兩行代碼是為了避免日志輸出重復問題
47         self.logger.removeHandler(ch)
48         self.logger.removeHandler(fh)
49 
50         # 關閉打開的文件
51         fh.close()
52 
53     def debug(self,message):
54         self.__console("debug",message)
55 
56     def info(self,message):
57         self.__console("info",message)
58     def warning(self,message):
59         self.__console("warning",message)
60     def error(self,message):
61         self.__console("error",message)
62 
63 if __name__ == "__main__":
64     log = Log()
65     log.info("--測試開始--")
66     log.info("操作步驟1,2,3")
67     log.warning("--測試結束--")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM