版权声明:转载请注明出处及作者! 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目录下多了一个以时间戳命名的文件,文件内容截图:
如果您喜欢这篇文章,别忘了点赞和评论哦!