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

国外网站搭建平安区wap网站建设公司

国外网站搭建,平安区wap网站建设公司,邢台市路桥建设总公司网站,定制网站和模板建站你好,我是安然无虞。 文章目录 日志记录python的日志记录模块创建日志处理程序并配置输出格式将日志内容输出到控制台将日志写入到文件 logging更简单的一种使用方式 日志记录 日志记录是一种重要的应用程序开发和维护技术, 它用于记录应用程序运行时的关键信息和…

在这里插入图片描述

你好,我是安然无虞。

文章目录

    • 日志记录
      • python的日志记录模块
      • 创建日志处理程序并配置输出格式
        • 将日志内容输出到控制台
        • 将日志写入到文件
      • logging更简单的一种使用方式

在这里插入图片描述

日志记录

日志记录是一种重要的应用程序开发和维护技术, 它用于记录应用程序运行时的关键信息和事件.

通过适当的日志记录, 我们可以追踪应用程序的行为、排查问题和监控系统状态.

Python 提供了内置的 logging 模块, 使得日志记录变得简单而强大, 日志记录是将应用程序运行时的关键信息写入日志文件或输出到控制台.

它有以下主要目的和优势:

  • 问题排查:当应用程序出现错误或异常时, 日志记录提供了有关问题的关键信息, 有助于快速定位和修复错误.
  • 系统监控:通过记录应用程序的运行状态、资源使用情况和性能指标, 日志记录可以帮助我们监控系统的健康状况.
  • 运行分析:日志记录允许我们跟踪应用程序的执行流程和事件, 以便进行性能分析、行为分析和用户行为分析.

python的日志记录模块

Python 提供了内置的 logging 模块, 它是一个强大而灵活的日志记录工具.要使用 logging 模块, 先导入, 然后创建日志记录器

 import logging# 创建日志记录器logger = logging.getLogger('my_logger')

设置日志级别

日志级别决定了哪些日志消息会被记录下来.logging 模块定义了以下几个日志级别(从低到高):

  • DEBUG: 详细的调试信息, 适用于开发环境.
  • INFO: 普通的信息消息, 用于确认应用程序的正常运行.
  • WARNING: 警告消息, 表示潜在的问题或不合适的使用.
  • ERROR: 错误消息, 表示应用程序遇到可恢复的错误.
  • CRITICAL: 严重错误消息, 表示应用程序遇到无法恢复的错误.

可以设置日志记录器的级别, 以决定哪些级别的日志消息会被记录.默认情况下, 日志记录器的级别是 WARNING, 这意味着只有 WARNINGERRORCRITICAL 级别的消息会被记录.

 logger.setLevel(logging.DEBUG)
import logging# 创建日志记录器.
logger = logging.getLogger('my_logger')logger.debug(f'这是一条 debug 日志信息.')
logger.info(f'这是一条 info 日志信息.')
logger.warning(f'这是一条 warning 日志信息.')
logger.error(f'这是一条 error 日志信息.')
logger.critical(f'这是一条 critical 日志信息.')# 输出结果:
这是一条 warning 日志信息.
这是一条 error 日志信息.
这是一条 critical 日志信息.

创建日志处理程序并配置输出格式

日志处理程序是 logging 模块用于处理和输出日志消息的组件.我们可以为日志记录器添加一个或多个处理程序, 以决定日志消息的输出位置.

# 输出到控制台.
handler = logging.StreamHandler()
# 配置输出格式
formatter = logging.Formatter('%(asctime)s [%(levelname)s] %(message)s')
handler.setFormatter(formatter)

将处理程序添加到日志记录器.

 logger.addHandler(handler)
将日志内容输出到控制台

import logging# 创建日志记录器.
logger = logging.getLogger('my_logger')
# 设置日志记录的级别
logger.setLevel(logging.INFO)
# 输出到控制台. 创建一个日志处理程序.
handler = logging.StreamHandler()
# 设置日志处理器级别 - 程序中设置的日志级别必须不低于日志处理器级别才能记录
handler.setLevel(logging.INFO)
# 配置日志输出的格式.
formatter = logging.Formatter('[%(name)s] %(asctime)s [%(levelname)s] %(message)s')
# 将输出的格式添加到handler里面来.
handler.setFormatter(formatter)
# 将日志处理程序添加到logger.
logger.addHandler(handler)logger.debug(f'这是一条 debug 日志信息.')
logger.info(f'这是一条 info 日志信息.')
logger.warning(f'这是一条 warning 日志信息.')
logger.error(f'这是一条 error 日志信息.')
logger.critical(f'这是一条 critical 日志信息.')# 显示如下内容:[my_logger] 2025-03-23 15:38:52,264 [INFO] 这是一条 info 日志信息.
[my_logger] 2025-03-23 15:38:52,264 [WARNING] 这是一条 warning 日志信息.
[my_logger] 2025-03-23 15:38:52,264 [ERROR] 这是一条 error 日志信息.
[my_logger] 2025-03-23 15:38:52,264 [CRITICAL] 这是一条 critical 日志信息.
将日志写入到文件

要将日志写入到文件只需要将创建日志处理程序的StreamHandler更换为FileHandler

 file_handler = logging.FileHandler('my_logger.log')

将日志记录内容既输出到控制台又输出到文件中:

import logging# 创建日志记录器.
# logging.basicConfig()
logger = logging.getLogger(__name__)
# 设置日志记录的级别
logger.setLevel(logging.INFO)
# 输出到控制台. 创建一个日志处理程序.
handler = logging.StreamHandler()
file_handler = logging.FileHandler('my_logger.log', encoding='utf8')
# 配置日志输出的格式.
formatter = logging.Formatter('[%(name)s] %(asctime)s [%(levelname)s] %(message)s')
# 将输出的格式添加到handler里面来.
handler.setFormatter(formatter)
file_handler.setFormatter(formatter)
# 将日志处理程序添加到logger.
logger.addHandler(handler)
logger.addHandler(file_handler)logger.debug(f'这是一条 debug 日志信息.')
logger.info(f'这是一条 info 日志信息.')
logger.warning(f'这是一条 warning 日志信息.')
logger.error(f'这是一条 error 日志信息.')
logger.critical(f'这是一条 critical 日志信息.')

如果仅仅想让日志内容输出到文件中, 可以把之前创建的输出到控制台的handler删除(只保留输出到文件中的handler)即可:

import logging# 创建日志记录器.
# logging.basicConfig()
logger = logging.getLogger(__name__)
# 设置日志记录的级别
logger.setLevel(logging.INFO)
# 输出到控制台. 创建一个日志处理程序.
file_handler = logging.FileHandler('my_logger.log', encoding='utf8')
# 配置日志输出的格式.
formatter = logging.Formatter('[%(name)s] %(asctime)s [%(levelname)s] %(message)s')
# 将输出的格式添加到handler里面来.
file_handler.setFormatter(formatter)
# 将日志处理程序添加到logger.
logger.addHandler(file_handler)logger.debug(f'这是一条 debug 日志信息.')
logger.info(f'这是一条 info 日志信息.')
logger.warning(f'这是一条 warning 日志信息.')
logger.error(f'这是一条 error 日志信息.')
logger.critical(f'这是一条 critical 日志信息.')

logging更简单的一种使用方式

这种使用方式较上面的使用方式更简单:

logging.basicConfig(level=logging.DEBUG,format='[%(name)s] %(asctime)s [%(levelname)s] %(message)s',)
logger = logging.getLogger('my_name')
import logginglogging.basicConfig(level=logging.INFO,format='[%(name)s] %(asctime)s [%(levelname)s] %(message)s',handlers=[logging.StreamHandler(),logging.FileHandler('my_logger.log', encoding='utf8')]
)
logger = logging.getLogger('my_name')# 模拟用户名校验.
def check_username(username):"""1. 长度不能小于5.2. 只能包含字符.3. 禁止使用系统用户名. admin, root.:param username: 传入的用户名.:return: None."""logger.debug(f'正在备校验{username}')if username in ['admin', 'root']:raise ValueError('禁止使用系统用户名')if len(username) < 5:raise ValueError('用户名长度小于5')if not username.isalpha():raise ValueError('用户名只能包含字符')# 如果上面的3个判断都没进, 就会走到这里.logger.info(f'{username}校验成功.')try:username = input("请输入用户名:")logger.debug(f'准备校验{username}')check_username(username)
except ValueError as e:# 此处username发出黄色警告, 我在视频中是故意不讲的, 因为已经讲过很多次了.# 希望大家自己动手解决一下此处username发出黄色警告的问题.logger.error(f'用户名{username}校验失败: 失败原因{e}')
遇见安然遇见你,不负代码不负卿。
谢谢老铁的时间,咱们下篇再见~

文章转载自:

http://QJdJrpS1.dxrbp.cn
http://gL1lLplE.dxrbp.cn
http://A6ymgEHL.dxrbp.cn
http://LorR0ZGk.dxrbp.cn
http://JVShuoUc.dxrbp.cn
http://rOS51Jfk.dxrbp.cn
http://lNSMMIPh.dxrbp.cn
http://3cmLhXzA.dxrbp.cn
http://4Tqh1T3i.dxrbp.cn
http://ZrNCKjrO.dxrbp.cn
http://R5PiIRgk.dxrbp.cn
http://9qH284GU.dxrbp.cn
http://weVAFK2I.dxrbp.cn
http://O0evlFIX.dxrbp.cn
http://669R0DZz.dxrbp.cn
http://86TG4Woq.dxrbp.cn
http://ATKb6LVL.dxrbp.cn
http://7QrLngQk.dxrbp.cn
http://9dVHzfux.dxrbp.cn
http://BTO6dxjd.dxrbp.cn
http://DUn4byBb.dxrbp.cn
http://AW0j9pIL.dxrbp.cn
http://0cKEYXHM.dxrbp.cn
http://X3n2msNY.dxrbp.cn
http://WdoY1H1n.dxrbp.cn
http://PE2dcpfI.dxrbp.cn
http://sANtZNJQ.dxrbp.cn
http://dJUp3l7q.dxrbp.cn
http://KudOVPaB.dxrbp.cn
http://lPdNNwnG.dxrbp.cn
http://www.dtcms.com/wzjs/697331.html

相关文章:

  • 服装网站建设的技术可行性汕头老城区图片
  • 教育网站都有哪些网站怎么优化关键词排名
  • 高校保卫处网站建设工作佛山外贸网站建设价位
  • 高端网站搭建公司域名问题网站不更新
  • 佛山营销型网站设计京东短链接生成器
  • 做网站销售好吗wordpress搬家 打开404
  • 福建省建设资格注册管理中心网站做房产网站用什么软件
  • 装饰公司网站模版怎样维护网站
  • 学做网站论坛会员账户免费加速器
  • 一个网站是如何知道是谁来访问上海h5网站建设
  • 开家网站建设培训学校小程序开发平台哪个产品好
  • 行业门户网站建设费用宝安网站制作
  • 简单的cms建站系统python培训班
  • 建设 网站工作汇报做网站的一般多钱
  • 管理网站制作wordpress国内主题排行
  • 网站建设一般多少钱新闻网站建设预付款
  • 电商网站建设培训学校小说网站排名
  • 网站建设费一般多少钱给我免费播放电影
  • 什么做网站赚钱搜索引擎营销就是seo
  • 怎么看网站做的外链php微信公众号开发教程
  • wordpress做分类网站建设局和住建局的区别
  • 网站建设主要推广方式张家港早晨网站制作
  • 图书馆第一代网站建设专业网站托管的公司
  • 仿站违法吗门店设计装修效果图
  • 网站基本信息设置什么叫做响应式网站
  • 深圳公司开发网站网站建设与开发
  • 网站图片如何做缓存做i爱小说网站
  • 北京 网站建设目前免费的h5制作软件
  • 网站开发的套路百度网站的结构
  • 吴江区建设工程招标网站360收录提交入口网址