最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下。python的标准库里的日志系统从Python2.3开始支持。只要import logging这个模块即可使用。如果你想开发一个日志系统, 既要把日志输出到控制台, 还要写入日志文件,只要这样使用:复制代码 代码如下:import logging# 创建一个loggerlogger = logging.getLogger(‘mylogger’)logger.setLevel(logging.DEBUG)# 创建一个handler,用于写入日志文件fh = logging.FileHandler(‘test.log’)fh Python的标准日志模块`logging`是开发者在编写程序时用于记录和管理日志信息的关键工具。自Python 2.3版本起,这个模块就已经被纳入了标准库,为程序员提供了强大的日志处理功能。通过使用`logging`模块,你可以轻松地实现日志信息的输出,不仅可以在控制台上显示,还可以将其写入文件,甚至通过网络传输。 使用`logging`模块时,你需要导入它: ```python import logging ``` 创建一个logger实例是使用`logging.getLogger()`方法。你可以指定logger的名字,如未指定,则默认为root logger。logger实例是基于名字的单例,即同名的logger实例总是相同的。 ```python logger = logging.getLogger('mylogger') ``` 设置logger的级别至关重要,这决定了哪些日志信息会被记录。级别包括`NOTSET`(最低)、`DEBUG`、`INFO`、`WARNING`、`ERROR`和`CRITICAL`(最高)。例如,若设置为`INFO`级别,那么低于`INFO`的日志将不会被输出,而等于或高于`INFO`级别的日志将会被记录。 ```python logger.setLevel(logging.INFO) ``` 接着,你可以创建handler来决定日志如何输出。`FileHandler`用于将日志写入文件,`StreamHandler`则用于输出到控制台。 ```python fh = logging.FileHandler('test.log') # 写入文件的日志handler fh.setLevel(logging.INFO) ch = logging.StreamHandler() # 输出到控制台的日志handler ch.setLevel(logging.INFO) ``` 为了使handler输出格式统一,可以定义一个`Formatter`对象。 ```python formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') fh.setFormatter(formatter) ch.setFormatter(formatter) ``` 将handler添加到logger中,以便它们可以处理logger记录的日志。 ```python logger.addHandler(fh) logger.addHandler(ch) ``` 现在,你可以使用logger的各个方法来记录不同级别的日志信息,如`logger.info()`, `logger.warning()`, `logger.error()`等。 ```python logger.info('This is an info message.') logger.warning('A warning occurred.') ``` `logging.basicConfig()`函数是为root logger提供基础配置的快捷方式,它可以设置输出格式和日志级别。如果root logger没有handler,它会添加一个`StreamHandler`。如果已经存在handler,它不会做任何改变。 ```python logging.basicConfig(level=logging.DEBUG, format='%(levelname)s:%(message)s') ``` `logging`模块还提供了其他类型的handler,如`SocketHandler`用于通过TCP发送日志,`DatagramHandler`通过UDP发送日志,`SMTPHandler`则可将日志信息通过电子邮件发送。这些handler使得日志管理更加灵活,可以根据项目需求选择合适的方式记录和分发日志信息。 Python的`logging`模块是一个强大且易用的日志工具,它允许开发者方便地控制日志级别、输出目的地以及格式,从而确保在开发过程中能够准确地跟踪和分析程序状态。通过熟练掌握`logging`模块的使用,你可以更有效地调试和维护你的Python程序。
- 粉丝: 8
- 资源: 920
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助