python print日志保存到日志文件

python项目,print方法的日志收集 

import sys
import time
import threading
import datetime
import os

class Logger(object):
    def __init__(self, logf):
        self.logf = logf
        self.terminal = sys.stdout
        sys.stdout = self
        self.log = open(self.logf, 'a+')
        self.previousMsg = None

    def write(self, message):
        if self.previousMsg == None or "\n" in self.previousMsg:
            topMsg = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f") + " : "
            self.terminal.write(topMsg)
            self.log.write(topMsg)
        
        if isinstance(message, str):
            self.previousMsg = message
        if self.previousMsg == None:
            self.previousMsg = ""
        
        self.terminal.write(message)
        self.log.write(message)

    def flush(self):
        self.log.flush()
            
    
def threading_log(log, wait=5):
    while 1== 1:
        time.sleep(wait)
        log.flush()

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值