python控制台信息輸出到日志


  將python控制台信息和錯誤信息輸出到日志。

  這里設置輸出文件夾為log,把日志的文件名設置為程序運行時間。

  首先把在代碼文件中加入以下代碼

import time import os import sys class Logger(object): def __init__(self, stream=sys.stdout): output_dir = "log"
        if not os.path.exists(output_dir): os.makedirs(output_dir) log_name = '{}.log'.format(time.strftime('%Y-%m-%d-%H-%M')) filename = os.path.join(output_dir, log_name) self.terminal = stream self.log = open(filename, 'a+') def write(self, message): self.terminal.write(message) self.log.write(message) def flush(self): pass

  在主函數第一句加上:

sys.stdout = Logger(sys.stdout)  #  將輸出記錄到log
sys.stderr = Logger(sys.stderr)  # 將錯誤信息記錄到log 

  這樣程序運行時如果使用了print進行輸出,或者產生錯誤信息,就會自動記錄到log中。

  效果如下圖,隨意讓它print了幾個數字:

  

  然后查看log文件夾的文件:

 

  

 


免責聲明!

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



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