Python示例程式碼之列印日誌檔案
阿新 • • 發佈:2018-12-31
在應用程式中,日誌列印是個必不可少的模組,本文演示了一個簡單的log日誌檔案列印的模型,在不考慮效率的場景中,可以使用該模組列印日誌資訊。
日誌的列印格式可以描述如下:
日誌型別一般包含如下四種類型:
日誌檔案記錄被定義為一個類:Log,在程式啟動時建立一個新日誌檔案,在程式執行過程中的資訊都會列印輸出到該檔案中,直至程式執行結束,程式碼見下:
import time import random class Log(object): def __init__(self, time_stamp): self.log_file_name = "./log/" + time_stamp + ".log" @classmethod def get_format_cur_time(self): return time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time())); def get_cur_time(self): return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())); def log_print(self, msg_type, msg_content): cur_time = self.get_cur_time() line = "" + cur_time + "[" + msg_type + "] " + msg_content print (line) f = open(self.log_file_name, "a+") f.write(line + "\n" ) f.close() def info(self, msg): self.log_print("info", msg) def warn(self, msg): self.log_print("warn", msg) def error(self, msg): self.log_print("error", msg)
引用Log類的示例程式碼如下:
log = Log(Log.get_format_cur_time()) log.info("start test, please wait...") for i in range(10): sleep_time = random.randint(0, 1000) % 5 time.sleep(sleep_time) if sleep_time == 1: log.info("sleeped second:" + str(sleep_time)) if sleep_time == 2: log.warn("sleeped second:" + str(sleep_time)) if sleep_time == 3: log.error("sleeped second:" + str(sleep_time)) log.info("congratulations, test is comlete, please have a rest.")
執行示例程式碼後我們可以看到在log目錄下多了一個以時間戳命名的檔案,檔案內容截圖:
如果您喜歡這篇文章,別忘了點贊和評論哦!