背景

在一个新的项目里面加入了日志功能,想自己写一个,但是一个偶然的机会,通过google发现Python内建了一个非常强大的日志(log)模块:logging。粗略的研究了一下,下面是我的一些心得札记。

为什么使用日志

追踪程序的一些运行信息,以达到时刻了解程序运行的状况,快速捕获程序的异常,及时发现程序错误的目的

logging模块简介

从Python2.3起,Python的标准库加入了logging模块.logging模块给运行中的应用提供了一个标准的信息输出接口.典型的logging机制实现是把要输出的数据简单地写到一个txt文件中去.写log文件的方式是一种常见的打log的方式,而logging模块提供的更多,它可以把输出信息输出到所有类文件的对象中去,甚至TCP和UDP的sockets,email服务器,Unix的syslog系统,NT系列的事件log系统,内存的buffer和HTTP服务器,当然还有”真正的”文件中去.

引入logging模块:import logging #import logging module

#使用logging模块:

class CLog:

#----------------------------------------------------------------------------

def __init__(self):

self.logger = logging.getLogger()

fileHandler = logging.FileHandler(LOG_FILE_PATH)

formatHandler = logging.Formatter('%(asctime)s %(levelname)s: %(message)s')

fileHandler.setFormatter(formatHandler)

self.logger.addHandler(fileHandler)

self.logger.setLevel(logging.NOTSET)

#----------------------------------------------------------------------------

def DebugMessage(self,msg):

self.logger.debug(msg)

pass

oCLog = CLog()

《python模拟微信客户端打开链接Python Logging 模块研究》总结了关于学习电脑教程,对于我们来W WW.002pc .COM确实能学到不少知识。

上面定义了一个简单的log模块,我想用这一段简单的代码来描述一下logging模块

logger

获取log的一个实例,这个部分代码分离做得很好,可以通过增加不同的handler来丰富log实例的特性

FileHandler

指定了Log的输出端是文件,通过传入文件路劲来指定输出文件,我们可以为Log定义其他的输出端例如StreamHandler,以及其他各种复杂的输出方式,文件是可能是最常用的方式,其他方式有待慢慢探索

FormatHandler

FomartHandler指定了FileHandler的输出格式,例如我使用了以下的格式:('%(asctime)s %(levelname)s: %(message)s'),则输出的文本格式为:

2013-07-25 08:20:01,525 INFO: goodbye [127.0.0.1]:60442

有关format的关键字,例如asctime,levelname,可参考LogRecord attributes 官方文档

Level

Logging模块定义了5种log信息的优先级

LevelWhen it’s used

DEBUGDetailed information, typically of interest only when diagnosing problems.

INFOConfirmation that things are working as expected.

WARNINGAn indication that something unexpected happened, or indicative of some problem in the near future (e.g. ‘disk space low’). The software is still working as expected.

ERRORDue to a more serious problem, the software has not been able to perform some function.

CRITICALA serious error, indicating that the program itself may be unable to continue running.

优先级关系:

DEBUG < INFO < WARNING < ERROR < CRITCAL

可以根据 self.logger.debug(msg),self.logger.info(msg),等函数来确定输出信息的优先级

SetLevel

SetLevel函数定义了Log实例对处理log信息的优先级,如果定义的优先级为info,则所有debug的信息都将忽略,不输出到输出端,只输入设定优先级以及设定优先级以上的信息

更多:python模拟微信客户端打开链接Python Logging 模块研究

https://www.002pc.comhttps://www.002pc.com/python/2523.html

你可能感兴趣的Python,Logging,模块,研究

No alive nodes found in your cluster

0踩

0 赞

python调用微信客户端_python模拟微信客户端打开链接Python Logging 模块研究相关推荐

  1. python实现微信投票_python 模拟微信投票

    林云在吞噬龙元后,血脉与体质又再一次得到强化,如今他已经可以连续两次开启魔神核晶的第三形态.python 模拟微信投票 在这惊人的事实面前,在林易的质问之下,在场之人,没人敢说一句话! 越是向着苦海深 ...

  2. 用python语言模拟微信红包_python 模拟微信抢红包 基础语法实现demo

    1.实现微信抢红包 简易demo版 : 代码如下: from decimalimport Decimal # 提供了随机方法 import random print('$$$$$$weichat模拟微 ...

  3. python比较数据工具_Python模拟数据工具哪些比较好用

    今天给大家推荐两款基本的Python模拟数据工具:mock和pytest monkeypatch. 为什么要模拟数据? 我们的应用中有一些部分需要依赖外部的库或对象.为了隔离开这部分,我们需要代替这些 ...

  4. python分配红包程序_Python版微信红包分配算法

    Python版微信红包分配算法 发布于 2015-05-08 10:54:23 | 151 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面向对象.解释型计算机 ...

  5. python代码手机壁纸_Python制作微信好友背景墙教程(附完整代码)

    引言 前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像. 效果如下图,出于隐私考虑,这里作了模糊处理. 是不是很炫,而且这还是独一无二的,毕竟 ...

  6. python微信头像_Python玩微信——头像组字

    上一篇,用Python实现了拿微信好友头像来拼接背景,融合成自己的新头像. 再之前呢,我们也实现了点阵字的输出与展示. 正好今天有位老哥过生日,我就把头像拼接和点阵字结合起来,搞了个头像成字的代码,请 ...

  7. python朋友圈头像_Python读取微信好友头像,拼成祝福语九宫格

    今天有位老哥过生日,结合着微信头像和点阵字,搞了个头像拼字的代码,朋友圈九宫格效果如下: 其中,每个字都是16*16的点阵,点阵中每个点可以拆解为4个好友头像图片: 代码中汉字文本可以自定义输入,头像 ...

  8. 好玩的python代码聊天客户端_python socket实现客户端与服务器端对话

    最近巩固下python语言,说真的,使用了这么多脚本语言,还是这门比较好玩点,快速,简洁,容易上手更不用说了. socket 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等) ...

  9. chrome设置微信ua_Chrome谷歌浏览器模拟微信内置浏览器的方法(电脑上)

    在微信里打开网页链接都会调用微信内置的浏览器,这种情况下是不太容易调试的的,那么有没有办法让谷歌浏览器模拟微信浏览器呢?下面小编分享的方法可以让Chrome谷歌浏览器模拟微信内置浏览器方便大家调试. ...

最新文章

  1. HMM——维特比算法(Viterbi algorithm)
  2. 动态更新ViewPager?
  3. [windows版]搭建php的redis环境
  4. 机器学习Sklearn实战——其他线性模型
  5. 趣学python3(46)--求素数
  6. LCD1602,4位数据总线液晶屏时钟,STC12C5A60S2的10位ADC功能程序
  7. 3 View - 状态保持 session
  8. 一文读懂 | CPU负载均衡实现
  9. 使用dubbo后尽量不用要@Service可能引起冲突
  10. 做公益的飞秋(FeiQ)程序代码
  11. 总结php删除html标签和标签内的内容的方法
  12. 木纹标识lisp_lisp 习题 用列表元素标识文件一行。
  13. 本地管理表空间(LMT)
  14. HandlerSocket简介及安装及卸载
  15. windows抓包工具——Fiddler配置及使用、手机抓包(iPhone、安卓)
  16. 几个不知道算不算经典的游戏
  17. 常见的导数公式和积分公式
  18. 前端 js中图片地址转base64(简单好用)
  19. 理解一下什么是全栈工程师
  20. java对excel加密_java poi对Excel文件加密

热门文章

  1. 关于FLEX 搜索引擎收录优化[SEO]
  2. 关于浏览器(五)fp fcf fmp 浏览器优化加载速度
  3. Linux 运维必会的150个常用命令,你都会用吗?
  4. RK3229 + 8189fs 安卓7.1.2盒子固件
  5. 【CIKM 2020】基于多视图协作学习的人岗匹配研究
  6. 道客巴巴 文档下载方法
  7. 《炉石传说》架构设计赏析(7):使用Google.ProtocolBuffers处理网络消息
  8. 伊朗APT组织的网络间谍工具源代码和攻击者被泄露和曝光
  9. 网站定制开发的流程是怎么样的 ?
  10. 网站集健康检查(health Check)