«
python-loguru日志模块
发布于
阅读:72
教程
from loguru import logger
# 配置日志输出,包括自定义时间戳格式
logger.add("debug.log", rotation="1 day",filter=lambda record: record["level"].name == "DEBUG", format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message} | {extra}")
logger.add("info.log", rotation="1 day",filter=lambda record: record["level"].name == "INFO", format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message} | {extra}")
logger.add("warning.log", rotation="1 day",filter=lambda record: record["level"].name == "WARNING", format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message} | {extra}")
logger.add("error.log", rotation="1 day",filter=lambda record: record["level"].name == "ERROR", format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message} | {extra}")
logger.add("critical.log", rotation="1 day",filter=lambda record: record["level"].name == "CRITICAL", format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message} | {extra}")
def main():
# 示例上下文信息
user_id = 123
request_ip = "192.168.1.1"
# 使用 logger.bind() 绑定上下文信息
log_with_context = logger.bind(user_id=user_id, request_ip=request_ip)
# 示例日志信息,不再需要 extra 参数
log_with_context.debug("这是一个调试消息")
log_with_context.info("这是一个信息消息")
log_with_context.warning("这是一个警告消息")
log_with_context.error("这是一个错误消息")
log_with_context.critical("这是一个严重消息")
if __name__ == "__main__":
main()