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

前端之家收集整理的这篇文章主要介绍了python将print输出的信息保留到日志文件中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

具体代码如下所示:

  1. import sys
  2. import os
  3. import sys
  4. import io
  5. import datetime
  6. def create_detail_day():
  7. '''
  8. :return:
  9. '''
  10. # 年-月-日
  11. # daytime = datetime.datetime.now().strftime('day'+'%Y-%m-%d')
  12. # 年_月_日
  13. daytime = datetime.datetime.now().strftime('day'+'%Y_%m_%d')
  14. # 时:分:秒
  15. # hourtime = datetime.datetime.now().strftime("%H:%M:%S")
  16. # hourtime = datetime.datetime.now().strftime('time' + "%H_%M_%S")
  17. detail_time = daytime
  18. # print(daytime + "-" + hourtime)
  19. # detail_time = daytime + "__" + hourtime
  20. return detail_time
  21. def make_print_to_file(path='./'):
  22. '''
  23. example:
  24. use make_print_to_file(),and the all the information of funtion print,will be write in to a log file
  25. :param path: the path to save print information
  26. :return:
  27. '''
  28. class Logger(object):
  29. def __init__(self,filename="Default.log",path="./"):
  30. sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
  31. self.terminal = sys.stdout
  32. self.log = open(os.path.join(path,filename),"a",encoding='utf8')
  33. def write(self,message):
  34. self.terminal.write(message)
  35. self.log.write(message)
  36. def flush(self):
  37. pass
  38. sys.stdout = Logger(create_detail_day() + '.log',path=path)
  39. print(create_detail_time().center(60,'*'))
  40. if __name__ == '__main__':
  41. make_print_to_file(path="/home/log/")
  42. print('explanation'.center(80,'*'))
  43. info1 = '从大到小排序'
  44. info2 = ' sort the form large to small'
  45. print(info1)
  46. print(info2)
  47. print('END: explanation'.center(80,'*'))

总结

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

猜你在找的Python相关文章