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

微博关键词排名优化搜索引擎排名优化价格

微博关键词排名优化,搜索引擎排名优化价格,黄岛建设厅官方网站,googleplay官方下载我们在写程序的时候经常会打一些日志来帮助我们查找问题#xff0c;这次学习一下logging模块#xff0c;在python里面如何操作日志。介绍一下logging模块#xff0c;logging模块就是python里面用来操作日志的模块#xff0c;logging模块中主要有4个类#xff0c;分别负责不…我们在写程序的时候经常会打一些日志来帮助我们查找问题这次学习一下logging模块在python里面如何操作日志。介绍一下logging模块logging模块就是python里面用来操作日志的模块logging模块中主要有4个类分别负责不同的工作 Logger 记录器暴露了应用程序代码能直接使用的接口简单点说就是一个创建一个办公室让人在里头工作  Handler 处理器将记录器产生的日志记录发送至合适的目的地这个简单点说就是办事的人你可以指定是让在控制输出日志还是在文件里面打印日志常用的有4种                  StreamHandler 控制台输出                  FileHandler 文件输出                 下面两种需要导入                         handlers                        from logging import handlers                          TimedRotatingFileHandler 按照时间自动分割日志文件                          RotatingFileHandler 按照大小自动分割日志文件一旦达到指定的大小重新生成文件                          Filter过滤器提供了更好的粒度控制它可以决定输出哪些日志记录。不常用                          Formatter格式化器指明了最终输出中日志记录的布局。指定输出日志的格式 import logging from logging import handlers #只在控制台打印日志 logging.basicConfig(levellogging.ERROR,#控制台打印的日志级别format%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s#日志格式) logging.debug(debug级别最低级别一般开发人员用来打印一些调试信息) logging.info(info级别正常输出信息一般用来打印一些正常的操作) logging.warning(waring级别一般用来打印警信息) logging.error(error级别一般用来打印一些错误信息) logging.critical(critical级别一般用来打印一些致命的错误信息) 日志级别 debug info warning error critical设置了日志级别之后会打印该级别以及比该级别高的所有日志举个例子如果日志级别是warning那么就会打印warning、error、critical这三个级别的日志不会打印debug和info级别的如果是debug最低级别的日志那么所有的日志都会打印。上面的只是在控制台打印日志并没有把日志写在文件里面一般我们都会把日志写在日志文件里面也很简单只需要加个参数指定文件名就行了。 logging.basicConfig(levellogging.ERROR,#控制台打印的日志级别filenamelog.txt,#文件名filemodea,#模式有w和aw就是写模式每次都会重新写日志覆盖之前的日志#a是追加模式默认如果不写的话就是追加模式format%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s#工作中常用的日志格式) logging.debug(debug级别最低级别一般开发人员用来打印一些调试信息) logging.info(info级别正常输出信息一般用来打印一些正常的操作) logging.warning(waring级别一般用来打印警信息) logging.error(error级别一般用来打印一些错误信息) logging.critical(critical级别一般用来打印一些致命的错误信息) 加上文件名之后就会发现控制台不会输出日志了日志文件也产生了那么如何既在控制台输出日志也在文件中写入呢 怎么实现呢就得有个办公室里面塞俩人一个给负责往控制台输出日志一个负责写文件你把他俩往办公室一塞他俩就能干活了。 import logging from logging import handlers logger logging.getLogger(my_log) #先创建一个logger对象相当于这个办公室也就是上面说的Logger logger.setLevel(logging.INFO)#设置日志的总级别 fh logging.FileHandler(test.log,modea,encodingutf-8)#创建一个文件处理器也就是把日志写到文件里头 fh.setLevel(logging.INFO)#设置文件输出的级别 sh logging.StreamHandler()#创建一个控制台输出的处理器这两个就是上面说的Handler sh.setLevel(logging.INFO) #设置控制台输出的日志级别这两个级别都可以单独设置他们俩和logger的级别区别是如果logger设置的级别比里面的handler级别设置的高那么就以logger的级别为准 th handlers.TimedRotatingFileHandler(time,whenS,interval1,backupCount2) #指定间隔时间自动生成文件的处理器 #interval是时间间隔backupCount是备份文件的个数如果超过这个超过这个个数就会自动删除when是间隔的时间单位单位有以下几种# S 秒# M 分# H 小时、# D 天、# W 每星期interval0时代表星期一# midnight 每天凌晨 th.setLevel(logging.INFO) formater logging.Formatter(%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s) #指定日志格式上面咱们写了常用的格式直接指定了就行了这也就是咱们上面说的Formatter sh.setFormatter(formater) fh.setFormatter(formater) th.setFormatter(formater) #设置两个处理器的日志格式logger.addHandler(sh) logger.addHandler(fh) logger.addHandler(th) #把两个handler加入容器里头相当于把工作人员培训完了你们可以上班了 logger.debug(debug级别最低级别一般开发人员用来打印一些调试信息) logger.info(info级别正常输出信息一般用来打印一些正常的操作) logger.warning(waring级别一般用来打印警信息) logger.error(error级别一般用来打印一些错误信息) logger.critical(critical级别一般用来打印一些致命的错误信息) 这样logger这个日志办公室已经搞好了咱们就可以直接用了运行完发现文件也产生了控制台也有日志。如果不设置日志级别的话默认级别是waring。下面我们自己封装一个类来使用logging模块方便使用默认加一些配置 import logging from logging import handlers class MyLogger():def __init__(self,file_name,levelinfo,backCount5,whenM):logger logging.getLogger() # 先实例化一个logger对象先创建一个办公室logger.setLevel(self.get_level(level)) # 设置日志的级别的人cl logging.StreamHandler() # 负责往控制台输出的人bl handlers.TimedRotatingFileHandler(filenamefile_name, whenwhen, interval1, backupCountbackCount, encodingutf-8)fmt logging.Formatter(%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s) #时间 #打印哪个python文件的第几行 #日志级别 #打印的信息cl.setFormatter(fmt) # 设置控制台输出的日志格式bl.setFormatter(fmt) # 设置文件里面写入的日志格式logger.addHandler(cl)logger.addHandler(bl)self.logger loggerdef get_level(self,str):level {debug:logging.DEBUG,info:logging.INFO,warn:logging.WARNING,error:logging.ERROR}str str.lower()return level.get(str) if __name__ __main__:lw_log MyLogger(lw.log,debug,whenM)lw_log.logger.warning(哈哈哈) 由于logging模块用起来实在是费劲所以牛教授自己封装了一个日志模块供大家使用非常方便只需要直接pip install nnlog即可 使用例子如下代码 import nnlog log nnlog.Logger(file_namemy.log,leveldebug,whenD,backCount5,interval1) #file_name是日志文件名 #level是日志级别如果不传的话默认是debug级别 #when是日志文件多久生成一个默认是按天S 秒、M 分、 H 小时、 D 天、 W 每星期 #backCount是备份几个日志文件默认保留5天的 #interval是间隔多久生成一个日志文件默认是1天 log.debug(默认日志级别是debug) log.info(info级别) log.warning(waring级别) log.error(error级别)log2 nnlog.Logger(file_namenn.log) #直接传入文件名也是ok的其他的就取默认值了 log2.debug(test)   转载于:https://www.cnblogs.com/mululu/p/9121770.html
http://www.zqtcl.cn/news/251783/

相关文章:

  • 个人导航网站怎么备案js调用wordpress文章列表
  • 网站微信推广方案衡水外贸网站建设
  • 怎么打造自己的网站如何做自已网站
  • 美容美发网站模板wordpress适合优化吗
  • 网站开发的著作权和版权沧州市做网站价格
  • 优客逸家网站源码酒吧装修
  • 深圳网站制作的公司怎么样开工作室做网站怎样找资源
  • 大连城乡建设局网站seo编辑招聘
  • 网站建设意见怎么在中国移动做网站备案
  • 做内贸哪个网站找客户网络外包
  • 古玩网站建设意义钟山县住房和城乡建设局网站
  • 网站开发微信公众号自定义菜单规则网站建设
  • 营销网站建设工作教育培训wordpress主题
  • 温州地区做网站公司如何注册新公司
  • 做的网站怎样评估价值全国信息公示系统官网
  • 外国网站签到做任务每月挣钱1g内存vps 开电影网站
  • 营销型网站案例易网拓互联购物
  • 河南企业网站制作微信小程序如何做
  • 金坛住房和城乡建设局网站wordpress 需要授权吗
  • 个人理财的网站开发天津 公司网站建设
  • 做电脑游戏破解的网站大宗交易平台软件
  • 男女做暖暖视频免费网站网络营销策划案ppt
  • 普通网站 多大空间网站开发报告参考文献
  • 来宾住房和城乡建设网站pc网站建设哪
  • WordPress一键开启全站SSL东莞企业网站建设公司
  • 青海省公路建设管理局官方网站wordpress 加入地图
  • 建湖专业做网站的公司如何制作wordpress网站地图
  • 做自媒体查找素材的网站石家庄网站建设费用
  • 建立局域网网站怎么做外国网站
  • 绍兴专业网站建设公司网站seo设计