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

专门做婚纱儿童摄影网站网站建设毕业答辩ppt怎么写

专门做婚纱儿童摄影网站,网站建设毕业答辩ppt怎么写,万江区网站仿做,网站怎么屏蔽ip访问目录 1.日志等级详解 2.基础使用方法 日志记录函数 3.日志格式配置 常用格式字段 basicConfig() 快速配置 4.处理器与输出 控制台输出 文件输出 完整示例 5.最佳实践 日志记录建议 6.总结 前言:为什么需要专业的日志记录? 相比简单的 print…

目录

1.日志等级详解

2.基础使用方法

日志记录函数

3.日志格式配置

常用格式字段

basicConfig() 快速配置

4.处理器与输出

控制台输出

文件输出

完整示例

5.最佳实践

日志记录建议

6.总结


前言:为什么需要专业的日志记录?

相比简单的 print() 语句,Python 的 logging 模块提供了企业级的日志记录功能,包括多级别日志、灵活格式配置、多种输出目标和线程安全等特性。

1.日志等级详解

Python logging 定义了5个标准日志级别,按严重程度递增排列:

级别数值描述使用场景
DEBUG10详细信息,通常仅在调试时使用变量值、流程跟踪
INFO20确认程序按预期运行服务启动、重要事件
WARNING30表示意外情况或潜在问题磁盘空间不足、API响应慢
ERROR40严重错误,程序部分功能失效数据库连接失败、API调用异常
CRITICAL50致命错误,程序可能无法继续运行系统崩溃、关键资源不可用

默认日志级别:如果不设置日志级别,logging 默认只记录 WARNING 及以上级别的日志。

2.基础使用方法

日志记录函数

logging 模块提供了不同级别的日志记录函数:

logging.debug(msg, *args, **kwargs)
logging.info(msg, *args, **kwargs)
logging.warning(msg, *args, **kwargs)
logging.error(msg, *args, **kwargs)
logging.critical(msg, *args, **kwargs)

这些函数都接受一个字符串消息和可选参数,用于字符串格式化:

logger.info("User %s logged in from %s", username, ip_address)

性能提示:使用 % 格式化而不是 f-string 或 .format() 可以提高性能,因为只有在消息实际需要输出时才会进行格式化。

3.日志格式配置

常用格式字段

logging 使用 Formatter 类来定义日志的输出格式:

基本字段

  • %(asctime)s - 日志创建时间
  • %(name)s - 记录器名称
  • %(levelname)s - 日志级别
  • %(message)s - 日志消息

调试字段

  • %(filename)s - 产生日志的文件名
  • %(lineno)d - 代码行号
  • %(funcName)s - 函数名
  • %(thread)d - 线程ID

basicConfig() 快速配置

logging.basicConfig() 是快速配置 logging 模块的便捷方法:

import logginglogging.basicConfig(level=logging.DEBUG,format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',filename='app.log',filemode='a'
)

重要限制:basicConfig() 只能在第一次调用时生效,后续调用不会改变配置。

4.处理器与输出

控制台输出

使用 StreamHandler 可以将日志输出到控制台:

import logginglogger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)# 创建控制台处理器
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)  # 控制台只显示INFO及以上# 创建格式器并添加到处理器
formatter = logging.Formatter('%(levelname)s - %(message)s')
console_handler.setFormatter(formatter)# 将处理器添加到记录器
logger.addHandler(console_handler)logger.info("This will appear on console")
logger.debug("This debug message won't appear on console")

文件输出

使用 FileHandler 可以将日志输出到文件:

import logging
from logging.handlers import RotatingFileHandlerlogger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)# 创建文件处理器(自动滚动)
file_handler = RotatingFileHandler('app.log',maxBytes=1024*1024,  # 1MBbackupCount=5,       # 保留5个备份encoding='utf-8'
)
file_handler.setLevel(logging.DEBUG)# 创建格式器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)logger.addHandler(file_handler)logger.info("This will be written to the log file")

完整示例

import logging# 创建 logger 对象(建议使用 __name__)
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)  # 设置记录器级别# 创建格式器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')# 文件处理器(如果文件不存在会自动创建)
fh = logging.FileHandler('api.log', mode='a', encoding='utf-8')
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)# 控制台处理器(建议添加)
sh = logging.StreamHandler()
sh.setLevel(logging.DEBUG)
sh.setFormatter(formatter)# 添加处理器(避免重复添加)
if not logger.handlers:logger.addHandler(fh)logger.addHandler(sh)if __name__ == "__main__":logger.debug('----- 调试信息 [debug]-----')logger.info('----- 有用的信息 [info]-----')logger.warning('----- 警告信息 [warning]-----')logger.error('----- 错误信息 [error]-----')logger.critical('----- 严重错误信息 [critical]-----')

5.最佳实践

日志记录建议

模块化记录器

为不同模块使用不同的记录器(使用 __name__

合理设置级别

避免输出过多无用信息,生产环境通常设为INFO

文件滚动

使用RotatingFileHandler防止日志文件过大

上下文信息

在关键位置添加足够的上下文信息便于调试

6.总结

Python 的 logging 模块提供了强大而灵活的日志记录功能。在实际项目中,良好的日志实践可以大大提高调试效率和系统可维护性。

END


文章转载自:

http://YfrdItGr.jmLgk.cn
http://fP6YzG14.jmLgk.cn
http://TqbLKPH2.jmLgk.cn
http://FHNTOVXS.jmLgk.cn
http://DqcAOfDQ.jmLgk.cn
http://VeNmNoe7.jmLgk.cn
http://cHCs2Ppk.jmLgk.cn
http://R0L0jVuZ.jmLgk.cn
http://f863sxvF.jmLgk.cn
http://1oF4ZqOH.jmLgk.cn
http://cnqkCYKd.jmLgk.cn
http://GYNTkjIy.jmLgk.cn
http://AKx0mxRd.jmLgk.cn
http://rnRIXTy2.jmLgk.cn
http://gx5nrFQS.jmLgk.cn
http://fpYnGa1q.jmLgk.cn
http://aJx1WqKm.jmLgk.cn
http://sZsLqikF.jmLgk.cn
http://HZhkBREy.jmLgk.cn
http://vpBhVbt1.jmLgk.cn
http://n6fFSiob.jmLgk.cn
http://CvADdxsp.jmLgk.cn
http://2XeesGNN.jmLgk.cn
http://COFnY0Yz.jmLgk.cn
http://ciB58K95.jmLgk.cn
http://I6QG0wsC.jmLgk.cn
http://dx9MymG2.jmLgk.cn
http://6kdkEAiq.jmLgk.cn
http://GWawPqBf.jmLgk.cn
http://ZR5FHGlc.jmLgk.cn
http://www.dtcms.com/wzjs/734432.html

相关文章:

  • 找兼职h5网站开发人员杭州seo外包服务
  • 免费ai设计logo网站wordpress zhai主题
  • 山西设计网站公司北京做网站哪家专业
  • wordpress客户端建站南冒网站建设制作推广公司
  • 做网站技术员怎么去推广一个产品
  • 做竞赛的平台或网站大型集团网站建设公司
  • 企业网站制作一般多少钱网站建设更新不及时
  • 上海做网站比较好的网站建设服务合同印花税
  • 建站市场开发商城微信小程序
  • 网站怎么做下拉刷新页面数据wordpress sae 安装主题
  • 网站建设基础策划书建网站做站在
  • 开网站挣不挣钱自助建站源码下载
  • 如何开个公司网站甘肃省和城乡建设厅网站
  • 自己做的网站如何让别人访问牡丹江市建设行业协会网站
  • 惠州网站建设推广wordpress注册文件
  • 网站开发和建设展厅设计制作公司会计分录
  • 上海网站建设框架图凡客诚品app下载
  • 网站视频下载到手机怎么做国家工商局网站官网
  • 建筑工程找工作哪个网站好wordpress评论优化插件
  • 企业信用网站建设凡科网站建设总结
  • 网站建设赶集网网站空间每年继费到哪交
  • 宁夏建设技术职业学院官方网站源码之家网站
  • 沧州做网站公司西安网络科技有限公司有哪些
  • 软件开发和网站开发有何不同重庆网站建设 制作 设计 优惠价
  • 北京中御建设公司网站无锡网页制作报价
  • 网站快捷导航ie怎么做网站优化报价单
  • 网站seo优化方案项目策划书个人简历表下载可填写
  • 网站优化内链怎么做做网站建设要学多久
  • python 网站开发 实例手机seo关键词优化
  • 杭州网站制作平台公司旅行社网站模板