Python -日志模块使用

朱雀 2023-07-05 13:12 247阅读 0赞

简介

使用的python的日志模块logging用于打印日志。

自定义工具类

  1. # encoding: utf-8
  2. """ @File : logger.py @Author : 灵枢 @Time : 2020/2/12 10:55 AM @Desc : """
  3. # -*- coding:utf-8 -*-
  4. import logging
  5. class Logger:
  6. def __init__(self,loggername):
  7. # Get logger
  8. self.logger = logging.getLogger(loggername)
  9. self.logger.setLevel(logging.DEBUG) # set log level
  10. # Create a handler, write log to a file
  11. log_path = "logs/" # log file path
  12. logname = log_path + 'out.log' # log file name
  13. fh = logging.FileHandler(logname,encoding = 'utf-8')
  14. fh.setLevel(logging.DEBUG)
  15. # Create a handler write log to console
  16. ch = logging.StreamHandler()
  17. ch.setLevel(logging.DEBUG)
  18. # Define the output format of the handler
  19. formatter = logging.Formatter('%(asctime)s-%(name)s-%(levelname)s: %(message)s')
  20. fh.setFormatter(formatter)
  21. ch.setFormatter(formatter)
  22. # Add handler to logger
  23. self.logger.addHandler(fh)
  24. self.logger.addHandler(ch)
  25. def get_logger(self):
  26. """Define a function to get logger instance"""
  27. return self.logger
  28. if __name__ == '__main__':
  29. logger = Logger("gcui").get_logger()
  30. logger.info("testing-info: %s", '111')
  31. logger.debug("testing-DEBUG")

自定义日志工具类,方便以后调用,该工具类提供一个get_logger方法,返回logger实例。
调用looger打印日志时,会同时在控制台输出和写入到日志文件(本示例的路径为 /logs/out.log)。

调用测试

运行main方法
在这里插入图片描述

控制台输出为:
在这里插入图片描述

日志文件内容如下:
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,247人围观)

还没有评论,来说两句吧...

相关阅读

    相关 python日志模块

    Python日志模块可以用于记录程序运行时的各种信息,如错误信息、调试信息等。它可以帮助我们更好地了解程序的运行状态,方便排查问题。 Python日志模块提供了以下几个级别的

    相关 Python 日志模块

    日志记录是程序员工具箱中非常有用的工具。它可以帮助您更好地理解程序流程并发现您在开发时甚至可能没有想到的场景。 日志为开发人员提供了一组额外的眼睛,可以不断查看应用程序正在经