ITer
关于 Gis
Python 代码片
py logger
WebService 相关
本文档使用 MrDoc 发布
-
+
首页
py logger
要同时在控制台和文件中输出日志,你可以简单地向日志记录器添加一个`StreamHandler`,它是`logging`模块提供的用于输出到标准错误流或标准输出流的处理器。以下是修改后的代码,它同时将日志输出到控制台和文件: ```python import logging from logging.handlers import TimedRotatingFileHandler import os # 创建日志目录 log_dir = "logs" if not os.path.exists(log_dir): os.makedirs(log_dir) # 日志文件路径 log_file = os.path.join(log_dir, "app.log") # 创建一个日志记录器 logger = logging.getLogger("MyLogger") logger.setLevel(logging.INFO) # 设置日志记录级别 # 创建一个按时间分割日志的处理器 file_handler = TimedRotatingFileHandler(log_file, when="midnight", interval=1, backupCount=5) file_handler.suffix = "%Y-%m-%d.log" # 设置分割后日志文件的后缀 file_handler.setLevel(logging.INFO) # 设置处理器的日志级别 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') file_handler.setFormatter(formatter) logger.addHandler(file_handler) # 创建一个输出到控制台的处理器 stream_handler = logging.StreamHandler() stream_handler.setLevel(logging.INFO) # 设置处理器的日志级别 stream_handler.setFormatter(formatter) # 使用和文件处理器相同的格式 logger.addHandler(stream_handler) # 使用日志记录器记录信息 logger.info("This is an info message") ``` 在这段代码中,我们添加了以下步骤: 1. 创建一个`StreamHandler`实例,它默认输出到标准错误流。 2. 为控制台处理器设置日志级别。 3. 给控制台处理器设置一个日志格式器,使用与文件处理器相同的格式。 4. 将控制台处理器添加到日志记录器。 现在,日志消息将同时输出到指定的日志文件和控制台。注意,如果你想要日志输出到标准输出流而不是标准错误流,可以创建一个`StreamHandler`实例并传递`sys.stdout`作为参数: ```python stream_handler = logging.StreamHandler(sys.stdout) ``` 使用这种方法,你可以灵活地定制日志输出的位置和格式。
Honlia
2024年4月18日 16:04
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码