当前位置: 首页 > news >正文

市桥网站建设培训学校轻松建站

市桥网站建设培训学校,轻松建站,浙江建设信息港电工证查询,对网站开发实训的建议django中使用日志模块-loguru loguru 是一个替代 Python logging 的第三方库;loguru的用法非常简单,在 loguru 中有且仅有一个对象:logger。 1、基本使用方式: 安装模块后直接导入使用即可! from loguru import logger logger.inf…

django中使用日志模块-loguru

  • loguru 是一个替代 Python logging 的第三方库;
  • loguru的用法非常简单,在 loguru 中有且仅有一个对象:logger。

1、基本使用方式:

安装模块后直接导入使用即可!

from loguru import logger
logger.info("11111111111111111111")
logger.warning("11111111111111111111")
logger.error("11111111111111111111")

输出效果:
在这里插入图片描述

安装:

这里有个注意点: 安装固定的版本!!

python环境3.10,最新版本0.7.3,会报错: ModuleNotFoundError: No module named 'win32_setctime'
# 先卸载当前版本
pip uninstall loguru -y
# 安装一个稳定版本(例如0.7.2,可根据你之前的版本调整)
pip install loguru==0.7.2

安装后就可以直接使用了,如果需要自定义配置和输出保存日志,再进行如下封装:

2、二次封装:

封装的日志模块路径:common—>utils–>logu文件夹中;
可以根据自己需求根据注释调整日志代码即可!
在这里插入图片描述
setting.py

"""
-*- coding: utf-8 -*-
@File  : setting.py
描述:日志框架的配置
"""
import os
from pathlib import Path# 获取项目根目录
# project_root = settings.BASE_DIR
# 日志文件存储配置
LOGURU_FILE = {"is_show": "off","level": "ERROR",'path': os.path.join(Path(__file__).parent, 'logs', 'test{time:YYYY-MM-DD}.logu'),"rotation": "10MB",'retention': "7days",
}
# 日志控制台配置
LOGURU_CONSOLE = {"is_show": "on",  # 配置是否开启控制台打印日志"level": "INFO",  # 最低打印级别是info级别
}
"""
TRACE: 最详细的日志信息,用于追踪代码执行过程。Loguru默认情况下使用DEBUG级别作为最低日志记录级别,而不是TRACE级别。这是因为TRACE级别会产生大量的日志信息。
DEBUG: 用于记录详细的调试信息,通常只在开发过程中使用,以帮助诊断问题。
INFO: 用于记录常规信息,比如程序的正常运行状态或一些关键的操作。
SUCCESS: 通常用于记录操作成功的消息,比如任务完成或数据成功保存。
WARNING: 用于记录可能不是错误,但需要注意或可能在未来导致问题的事件。
ERROR: 用于记录错误,这些错误可能会影响程序的某些功能,但通常不会导致程序完全停止。
CRITICAL: 用于记录非常严重的错误,这些错误可能会导致程序完全停止或数据丢失。
"""

log.py

"""
-*- coding: utf-8 -*-
@File  : log.py
描述:logu 封装类!
"""
import os
from pathlib import Path
from loguru import logger
import sys
from common.utils.logu import settingclass LoguruConfig:def __init__(self):self._file_set = setting.LOGURU_FILEself._console_set = setting.LOGURU_CONSOLEdef configure(self):logger.remove()  # 清除所有现有的日志处理器(如果有的话)# 控制台输出if self._console_set.get('is_show', '').lower() == "on":# 设置处理程序处理的日志消息的最低级别。level = self._console_set.get('level', 'INFO')# 只需要在add方法中添加配置即可!logger.add(# 定义日志消息的输出位置,可以是文件路径、标准输出(stdout)、标准错误(stderr,默认)或其他自定义的输出位置。sink=sys.stderr,# format="{time:xxxx过滤条件} {level:xxxxxxxx过滤条件} {message}" 日志的格式化显示配置# logger.add('runtime.log', format="{time} {level} {message}", filter="my_module", level="INFO")# 以下是自定义显示样式,默认的就挺好看了!format="<level>{level:<8}|  </level>"  # level显示设置宽度占8个字符"<u><green>{file.path}:{line}</green></u> : \r\n""        ""<level>{message}</level>",  # 显示的日志信息colorize=True,  # 默认是True level会根据不同级别显示不同颜色enqueue=True,  # 异步日志backtrace=True,  # 确定异常跟踪是否应该延伸到捕获错误的点之外diagnose=True,  # 确定变量值是否应在异常跟踪中显示)# 在本目录下生成日志文件  注意:此行为了简单使用,可以直接添加输出到当前目录!# logger.add('logu.log')# 文件保存if self._file_set.get('is_show', '').lower() == "on":log_path = self._file_set.get('path', os.path.join(Path(__file__).parent.parent.parent, '../../../logs','test{time:YYYY-MM-DD}.logu'))level = self._file_set.get('level', 'INFO')rotation = self._file_set.get('rotation', '10MB')retention = self._file_set.get('retention', '7 days')logger.add(log_path,rotation=rotation,  # 日志的最长保留时间!retention=retention,  # 用于设置日志文件的保留时间。compression='zip',  # 布尔值,指定 配置文件的压缩格式encoding="utf-8",enqueue=True,  # 异步日志 布尔值,指定是否将日志消息放入队列中处理,用于多线程应用中避免阻塞。format="[{time:YYYY-MM-DD HH:mm:ss} {level:<6} | {file}:{module}.{function}:{line}]  {message}",level=level,)# 给logger对象添加自定义配置
config = LoguruConfig()
config.configure()
log = logger;  # 调整名字为log
if __name__ == '__main__':# 测试log.debug("这是一条跟踪消息")  # 不打印log.info("这是一条普通信息")  # 设置了打印info级别及以上log.success("操作成功完成")log.warning("这是一条警告信息")log.error("这是一条错误信息")log.critical("这是一条严重错误信息")

init.py

"""
-*- coding: utf-8 -*-
描述: 注意安装 pip install logu
"""
from .log import log

使用封装的loguru:

导包:

from common.utils import log

使用:

	log.debug("这是一条跟踪消息")  # 不打印log.info("这是一条普通信息")  # 设置了打印info级别及以上log.success("操作成功完成")log.warning("这是一条警告信息")log.error("这是一条错误信息")log.critical("这是一条严重错误信息")
http://www.dtcms.com/a/454654.html

相关文章:

  • 做结构图的网站百度助手app下载
  • 做网站视频点播难不难临沂市住房和城乡建设局网站
  • php 网站换空间免费简历在线制作网站
  • 虚拟主机可以做几个网站创建直播平台
  • 如何做自己的淘客网站民宿网站开发方案
  • 建设网站后如何上线刚刚中国突然宣布
  • Shell脚本变量${}与命令$()替换区别
  • 本地网站搭建流程如何制作一个好网站
  • 网站建设与维护专业wordpress演示数据包
  • 企业网站建设与管理作业怎样做网站api接口
  • springboot基于javaweb的小零食销售系统的设计与实现(代码+数据库+LW)
  • 网站开发 安全电脑好用的wordpress
  • 中国网站开发的前景网站制作什么
  • 中小企业网站制作广州网络服务公司找赛合泰州城乡建设局网站
  • Python eval() 函数
  • QQ音乐项目的GUI自动化测试
  • 多级流水线与指令预测
  • 网站后台管理系统 模板装潢设计学校
  • CT造影剂外渗文献综述及系统评价
  • 梯形速度规划方法的不同情况介绍
  • 有的网站打不开 但别人电脑能打开临沂网站制作方案
  • 装饰网站建设网网站建设 学校
  • 龙中龙网站开发网站制作对公司的作用
  • 在线推广企业网站的方法是wordpress 文章摘取
  • 建站行业发展苏州高端模板建站
  • [人工智能-综述-25]:如何利用AI克服老龄增长带来的不足,让自己的能力具有持续的竞争力?
  • 做网站用html5seo优化销售话术
  • 栈和队列的相关经典题目
  • 2018年做淘宝客网站还能挣钱吗6wordpress所有人提问
  • 【无标题】高校信息化