编写一个简单的日志记录器可以使用以下步骤:
datetime
模块获取当前时间。logging
模块来记录日志。logger
对象,可以使用logging.getLogger()
方法。logger.setLevel(logging.DEBUG)
来设置为调试级别。logging.FileHandler()
方法,并设置文件名和写入模式。logging.StreamHandler()
方法。file_handler.setLevel(logging.DEBUG)
和console_handler.setLevel(logging.INFO)
。logging.Formatter()
方法,并设置日志的格式。file_handler.setFormatter(formatter)
和console_handler.setFormatter(formatter)
。logger.addHandler(file_handler)
和logger.addHandler(console_handler)
。logger.debug()
、logger.info()
、logger.warning()
、logger.error()
等方法来记录不同级别的日志。以下是一个示例代码:
import logging
import datetime
# 配置日志记录器
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
# 创建文件处理器
file_handler = logging.FileHandler('log.txt', mode='w')
file_handler.setLevel(logging.DEBUG)
# 创建控制台处理器
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
# 创建格式化器
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
# 将格式化器添加到处理器中
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)
# 将处理器添加到日志记录器中
logger.addHandler(file_handler)
logger.addHandler(console_handler)
# 记录日志
try:
# 代码逻辑
logger.info('操作成功')
except Exception as e:
logger.error(f'操作失败: {str(e)}')
# 关闭日志记录器
logging.shutdown()
这个日志记录器会将日志同时输出到文件和控制台。你可以根据需要调整日志级别、文件名和路径,以及日志的格式。
Elastic 中国开发者大会
云+社区技术沙龙[第29期]
云+社区技术沙龙[第20期]
Hello Serverless 来了
云+社区技术沙龙[第17期]
云+社区技术沙龙[第14期]
技术创作101训练营
云+社区技术沙龙[第7期]
领取专属 10元无门槛券
手把手带您无忧上云