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

如何加强网站管理的队伍建设百度售后服务电话

如何加强网站管理的队伍建设,百度售后服务电话,住房各城乡建设网站,开发公司工程部管理流程python日志模块,loggin模块loggin模块日志的格式处理器种类日志格式的参数使用loggin模块 logging库采用模块化方法,并提供了几类组件:记录器,处理程序,过滤器和格式化程序。 记录器(Logger)&a…

python日志模块,loggin模块

  • loggin模块
    • 日志的格式
    • 处理器种类
    • 日志格式的参数
    • 使用

loggin模块

logging库采用模块化方法,并提供了几类组件:记录器,处理程序,过滤器和格式化程序。

  • 记录器(Logger):提供应用程序代码直接使用的接口。
    ​ 相当于笔,记录日志信息。记录器可以有多个处理器

  • 处理器(Handler):将日志记录(由记录器创建)发送到适当的目的地。

    ​ 将记录器记录的日志信息发送到其他位置,处理器可以有多个,每个处理器指定一个位置

  • 筛选器(Filter):提供了更细粒度的功能,用于确定要输出的日志记录。

    ​ 筛选记录器进行筛选,通过筛选的输出其记录的日志

  • 格式器(Formatter):程序在最终输出日志记录的内容格式。

    ​ 定义日志的格式,内容格式,保存方式,切割方式

都可以根据情况定义多个

日志的格式

日志的级别日志的数字级别说明
debug10详细信息常用于调试
info20程序正常运行产生的日志
warning30警告性日志,程序仍正在运行,可能出现问题
error40错误日志,程序已经不能执行一些功能了
critical50严重错误,程序已不能运行

记录器默认日志级别为warning,处理器不做日志等级设置,会继承记录器的日志等级设置。
处理器做日志级别设置后,处理器按照处理器自身的日志级别执行。但是处理器设置的日志级别低于记录器默认日志级别时,不会生效。如果想要处理器日志级别低于记录器的默认日志级别warning,需要设置降低记录器的日志级别

处理器种类

处理器说明
logging.StreamHandler()把日志标准输出到屏幕
logging.FileHandler()把日志写入一个文件
如不能直接使用,需再次导入
import logging.handlers导入全部处理器
或from logging.handlers import RotatingFileHandler导入需要的某个处理器
logging.handlers.RotatingFileHandler()日志回滚方式,按日志大小切割备份日志
logging.handlers.TimedRotatingFileHandler()日志回滚方式,按日志使时间切割备份日志
logging.handlers.BaseRotatingHandler()基本的日志回滚方式
logging.handlers.SocketHandler()远程输出日志到TCP/IP sockets
logging.handlers.SMTPHandler()远程输出日志到邮件地址
logging.handlers.SysLogHandler()日志输出到syslog
logging.handlers.DatagramHandler()远程输出日志到UDP sockets
logging.handlers.NTEventLogHandler()远程输出日志到Windows NT/2000/XP的事件日志
logging.handlers.BufferingHandler()
logging.handlers.HTTPHandler()通过"GET"或者"POST"远程输出到HTTP服务器
logging.handlers.MemoryHandler()日志输出到内存中的指定buffer
logging.handlers.WatchedFileHandler()
logging.handlers.QueueHandler()

https://blog.csdn.net/llf_cloud/article/details/88642830

logging — Python 的日志记录工具 — Python 3.11.2 文档

日志格式的参数

format参数中可能用到的格式化信息:

参数说明
%(asctime)s字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(name)s记录器的名字
%(levelname)s名字形式的日志级别
%(levelno)s数字形式的日志级别
%(filename)s调用日志输出函数的模块的python文件名
%(pathname)s调用日志输出函数的模块的完整路径名,即python文件的完整路径
%(module)s调用日志输出函数的模块名,可能同%(filename)s
%(funcName)s调用日志输出函数的函数名
%(lineno)d调用日志输出函数的语句所在的代码行,即句日志所在代码的行数
%(created)f当前时间,用UNIX标准的表示时间的浮点数表示,即时间戳
%(relativeCreated)d输出日志信息时的,自Logger创建以 来的毫秒数
%(thread)d线程ID。可能没有
%(threadName)s线程名。可能没有
%(process)d进程ID。可能没有
%(message)s日志的具体信息

示例:

logger = logging.getLogger("mylog")
....
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(levelno)s - %(filename)s - %(pathname)s - %(module)s- %(funcName)s - %(lineno)d - %(created)f - %(relativeCreated)d - %(thread)d - %(threadName)s - %(process)d - %(message)s')
D:\gitee\python\venv\Scripts\python.exe D:\gitee\python\python相关\巡检脚本更新1\master2.py 2023-03-05 11:17:47,335 - mylog - INFO - 20 - pythonSsh.py - D:\gitee\python\python相关\巡检脚本更新1\pythonSsh.py - pythonSsh- myserver - 45 - 1677986267.335183 - 217 - 12912 - MainThread - 18536 - 开始建立与服务器的连接

使用

import logging
import logging.handlers# from logging.handlers import RotatingFileHandler# 记录器 处理器 过滤器 日志格式 均可根据需要设置多个# 创建记录器,记录器名字为app
logger = logging.getLogger("app")# 设置记录器记录日志的等级为INFO,即只把INFO及INFO以上的日志信息记录下来
logger.setLevel(logging.INFO)# 创建处理器,处理器可以有多个# 创建把日志屏幕输出的处理器
console_handler = logging.StreamHandler()# 创建把日志写入文件的处理器,文件未做特殊设置,会一直把日志写入此文件,不做切分
# 日志名字,日志写入方式,追加写  日志字符集,UTF-8 日志缓存 False 无缓存
file_handler = logging.FileHandler(filename="app.log", mode='a', encoding='UTF-8', delay=False)# 设置日志格式
# s前的数字8表示占8位字符,为了对齐
# 8前的-表示左对齐,默认为右对齐
# 时间 日志名 日志等级 日志信息
formatter1 = logging.Formatter('%(asctime)s - %(thread)d - %(levelname)s - %(message)s')
formatter2 = logging.Formatter('%(asctime)s - %(levelname)-8s - %(message)s')'''
formatter2 示例
2023-03-05 12:18:33,252 - INFO     - this is test info
2023-03-05 12:18:33,252 - WARNING  - this is test warning
2023-03-05 12:18:33,252 - ERROR    - this is test error
2023-03-05 12:18:33,252 - CRITICAL - this is test critical'''# 把日志格式添加到处理器
console_handler.setFormatter(formatter2)
file_handler.setFormatter(formatter1)# 把创建的处理器添加到处理器
logger.addHandler(console_handler)
logger.addHandler(file_handler)# 创建过滤器(过滤器非必要条件,也可以不创建)# 把记录器app 添加到过滤器
fil = logging.Filter("app")# 给记录器关联过滤器
logger.addFilter(fil)# 也可以给处理器关联过滤器
console_handler.addFilter(fil)# 打印日志的代码
logger.debug('this is test debug')
logger.info("this is test info")
logger.warning("this is test warning")
logger.error("this is test error")
logger.critical("this is test critical")# 异常日志记录
n = 'abc'
try:int(n)logger.info("test try ok")
except Exception as e:logger.exception("this test exception %s",e)#参考:
# https://blog.csdn.net/weixin_47154909/article/details/106203639

日志内容

2023-03-05 14:42:17,869 - 20472 - INFO - this is test info
2023-03-05 14:42:17,869 - 20472 - WARNING - this is test warning
2023-03-05 14:42:17,870 - 20472 - ERROR - this is test error
2023-03-05 14:42:17,870 - 20472 - CRITICAL - this is test critical
2023-03-05 14:42:17,870 - 20472 - ERROR - this test exception invalid literal for int() with base 10: 'abc'
Traceback (most recent call last):File "D:\gitee\python\python相关\日志模块logging.py", line 106, in <module>int(n)
ValueError: invalid literal for int() with base 10: 'abc'
http://www.mnyf.cn/news/15641.html

相关文章:

  • 做门户网站要多少钱百度教育小程序
  • 朝阳区手机网站制作服务免费网站在线观看人数在哪直播
  • 网站浮动qq客服代码网站排名优化快速
  • 做网站需注重的几点2021全国大学生营销大赛
  • 青岛设计谷科技有限公司免费seo排名软件
  • 如何看网站关键词衡水网站seo
  • 视频网站备案seo搜索引擎专员
  • 高端网站制作哪家好怎么线上推广自己的产品
  • flash做网站轮播图互动营销案例
  • 做出口网站知名seo公司
  • 设计网站会员哪个好用南宁网络推广服务商
  • 潍坊400建网站公司网站制作免费
  • 上海到北京高铁票价多少搜索引擎优化的内容包括
  • 萍乡土建设计网站b2b平台
  • 网站使用培训方案互联网推广员是做什么的
  • 公司做一个网站内容如何设计谷歌seo代运营
  • 设计一站式服务成都企业网站seo技术
  • 做网站致富沈阳seo合作
  • 政府网站集约化建设规划今日新闻网
  • 建筑公司网站被投诉违反广告法推广seo是什么意思
  • 公司建设网站的步骤武汉楼市最新消息
  • ps软件下载手机版免费seo关键词优化的技巧和方法
  • 国内做医疗耗材的网站广东云浮疫情最新情况
  • 东莞常平疫情seo从零开始到精通200讲解
  • 网站做视频在线观看怎么去推广自己的平台
  • 南昌网站建设方案服务中国最厉害的营销策划公司
  • 宝塔建站工具cps广告联盟
  • 软件开发能力优化关键词的步骤
  • 网站建设完整版必应搜索国际版
  • 网站为什么没有被收录百度搜索排名优化