Python示例代码之打印日志文件

版权声明:转载请注明出处及作者! https://blog.csdn.net/chenzhanhai/article/details/85208915

       在应用程序中,日志打印是个必不可少的模块,本文演示了一个简单的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目录下多了一个以时间戳命名的文件,文件内容截图:

如果您喜欢这篇文章,别忘了点赞和评论哦!

猜你喜欢

转载自blog.csdn.net/chenzhanhai/article/details/85208915