先直接上代码
import logging
# 配置日志记录
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s', filename='app.log')
# 输出到控制台
console = logging.StreamHandler()
console.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)
# 记录日志信息
logging.info('This is an info message.')
# 会同时输出到控制台和文件中
下面是解释
-
import logging
导入 Python 的 logging 模块,该模块用于记录日志。 -
logging.basicConfig(level=logging.INFO, format=‘%(asctime)s - %(levelname)s - %(message)s’, filename=‘app.log’)
basicConfig(): 方法用于配置日志记录。
level=logging.INFO: 设置日志级别为 INFO,这意味着只有 INFO 级别及以上的日志信息会被记录。
format=‘%(asctime)s - %(levelname)s - %(message)s’: 设置日志的格式,这里包括日志记录的时间、级别和消息内容。
filename=‘app.log’:指定日志文件的名称为 app.log,日志信息会被写入到这个文件中。 -
console = logging.StreamHandler():创建一个处理器,用于将日志信息输出到控制台。
-
console.setLevel(logging.INFO):设置控制台处理器的日志级别为 INFO。
-
formatter = logging.Formatter(‘%(asctime)s - %(levelname)s - %(message)s’):创建一个格式化器,用于设置日志信息的格式。
-
console.setFormatter(formatter):将格式化器应用到控制台处理器。
-
logging.getLogger(‘’).addHandler(console):将控制台处理器添加到根 logger 中,这样根 logger 就会将日志信息发送到控制台。
-
logging.info(‘This is an info message.’):记录一条 INFO 级别的日志信息。