python将print输出的信息保留到日志文件中

时间:2021-05-22

具体代码如下所示:

import sysimport osimport sysimport ioimport datetimedef create_detail_day(): ''' :return: ''' # 年-月-日 # daytime = datetime.datetime.now().strftime('day'+'%Y-%m-%d') # 年_月_日 daytime = datetime.datetime.now().strftime('day'+'%Y_%m_%d') # 时:分:秒 # hourtime = datetime.datetime.now().strftime("%H:%M:%S") # hourtime = datetime.datetime.now().strftime('time' + "%H_%M_%S") detail_time = daytime # print(daytime + "-" + hourtime) # detail_time = daytime + "__" + hourtime return detail_timedef make_print_to_file(path='./'): ''' example: use make_print_to_file() , and the all the information of funtion print , will be write in to a log file :param path: the path to save print information :return: ''' class Logger(object): def __init__(self, filename="Default.log", path="./"): sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') self.terminal = sys.stdout self.log = open(os.path.join(path, filename), "a", encoding='utf8') def write(self, message): self.terminal.write(message) self.log.write(message) def flush(self): pass sys.stdout = Logger(create_detail_day() + '.log', path=path) print(create_detail_time().center(60,'*'))if __name__ == '__main__': make_print_to_file(path="/home/log/") print('explanation'.center(80, '*')) info1 = '从大到小排序' info2 = ' sort the form large to small' print(info1) print(info2) print('END: explanation'.center(80, '*'))

总结

以上所述是小编给大家介绍的python将print输出的信息保留到日志文件中,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章