• 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文件夹的文件:

      

  • 相关阅读:
    Learn Goroutine
    Redis eviction policies
    Hungarian Algorithm
    Prime and Factors
    HDU 2642 Stars
    236. Lowest Common Ancestor of a Binary Tree
    Leetcode 96. Unique Binary Search Trees
    Search in Rotated Sorted Array
    ID Generator
    概率问题
  • 原文地址:https://www.cnblogs.com/sumuyi/p/12918626.html
Copyright © 2020-2023  润新知