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