Python日志封装模块学习

需积分: 0 1 下载量 92 浏览量 更新于2024-08-04 收藏 2KB TXT 举报
"这是一个Python日志封装类的代码示例,用于学习日志记录和管理。这个类创建了一个名为'Logger'的对象,该对象利用Python内置的logging模块,提供了将日志信息输出到控制台和写入文件的功能。日志级别设定为INFO及以上,文件日志则设定为DEBUG及以上。日志文件的命名基于当前时间戳,确保了文件名的独特性。" 此代码主要展示了以下几个关键知识点: 1. **Python logging模块**:logging是Python标准库中的一个模块,用于生成不同级别的日志信息,如DEBUG、INFO、WARNING、ERROR和CRITICAL。在本例中,`logging.getLogger()`用于获取或创建一个logger实例,`logger.setLevel()`设置日志级别。 2. **日志格式化**:通过`logging.Formatter`可以定制日志的输出格式。在这个例子中,格式设置为包括时间戳、logger名称、日志级别和消息本身。 3. **处理器(Handler)**:logging模块允许添加多个处理器来处理日志。这里有两个处理器:`StreamHandler`用于将日志输出到控制台,`FileHandler`用于将日志写入文件。`setLevel()`方法用于设置处理器的最低日志级别,`setFormatter()`用于设置处理器的日志格式。 4. **文件路径处理**:使用`os.getcwd()`获取当前工作目录,并用`os.path.join()`组合路径,创建日志文件的完整路径。`time.strftime()`函数用于根据当前时间生成文件名,确保每次运行时文件名都是唯一的。 5. **类定义与初始化**:`Logger`类接受一个可选的参数`name`,这个参数用于设置logger的名称。在`__init__`方法中,初始化logger、formatter、streamHandler和fileHandler,并将它们添加到logger中。 6. **主函数(__main__)**:在主程序中,创建了一个`Logger`实例,传入字符串'baseLogger.py'作为logger的名称。这样,我们就可以通过`logger.getLogger()`获取一个配置好的logger对象,用于记录日志。 通过这个封装的日志类,我们可以轻松地在Python程序中记录和管理日志,同时支持控制台输出和文件存储,方便调试和后期分析。在实际项目中,可以根据需要调整日志级别、格式和处理器,以满足不同场景的需求。