python logging模块使用_python logging模块使用
近来再弄一个小项目,已经到收尾阶段了。希望加入写log机制来增加程序出错后的判断分析。尝试使用了python logging模块。
#-*- coding:utf-8 -*-
importloggingimportsysclassLogRecord(object):def __init__(self):
self.mylogger= logging.getLogger('iplog')
self.mylogger.setLevel(logging.WARNING)#创建一个handler,用于写入日志文件
self.fn = logging.FileHandler(sys.path[0]+'/iplog.log','a')#定义handler的输出格式formatter
self.formatter = logging.Formatter('%(asctime)s %(levelname)s %(filename)s[line:%(lineno)d] %(message)s')#定义handler的输出格式
self.fn.setFormatter(self.formatter)#给mylogger添加handler
self.mylogger.addHandler(self.fn)defGetLogObj(self):return self.mylogger
logging模块使用起来也比较简单。
logging.getLogger([name]):
返回一个logger对象,如果没有指定名字将返回root logger。
self.mylogger.setLevel(level):
指定最低的日志级别,可用的日志级别有logging.DEBUG
只有日志等级大于或等于设置的日志级别的日志才会被输出。
logging.FileHandle(path):
创建一个handler,用于写入日志文件.也可以创建一个StreamHandle控制台输出。还有很多Handle就大家自行进行扩展了。
logging.Formatter(*args):
定义handler的输出格式formatter。输出格式有很多。
format参数中可能用到的格式化串:
%(name)s Logger的名字
%(levelno)s 数字形式的日志级别
%(levelname)s 文本形式的日志级别
%(filename)s 调用日志输出函数的模块的文件名
%(module)s 调用日志输出函数的模块名
%(funcName)s 调用日志输出函数的函数名
%(lineno)d 调用日志输出函数的语句所在的代码行
%(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示
%(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数
%(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(message)s用户输出的消息
self.fn.setFormatter(self.formatter):
将输出格式绑定到handle上。
self.mylogger.addHandler(self.fn):
将handle绑定到mylogger对象上。
接下来就直接调用mylogger.error or debug or warning or info.....,直接输出到指定的log文件中了。但是要记得当前的self.mylogger.setLevel(logging.WARNING)是什么?只要大于或者等于WARING的日志等级才会被写入log文件中。
if status_first == -1:
self.mylogger.error("new_ipurl = %s,first download is failed!fail url save." %new_ipurl) self.failurllst.append(new_ipurl)else:
self.mylogger.debug("new_ipurl = %s,download is success!" % new_ipurl)
python logging模块使用_python logging模块使用相关推荐
- python logging模块 默认_python logging模块
函数式简单配置 importlogging logging.debug('debug message') #计算或者工作的细节 logging.info('info message') #记录一些用户 ...
- python logging 控制其他模块等级_Python常用模块:logging模块介绍
简单使用 #!/usr/local/bin/python# -*- coding:utf-8 -*-import logginglogging.debug('debug message')loggin ...
- python logging日志分割_python logging日志模块以及多进程日志
本篇文章主要对 python logging 的介绍加深理解.更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件. 1. logging日志模块介绍 python ...
- python中的模块原则_python 的模块与包
一 模块 1.什么是模块 模块是一系列功能的结合体 分为三大类: 1.内置的模块 2.第三方的模块 3.自定义的模块 一个 python 文件本身就是一个模块,文件名:m.py 模块名: ...
- python如何创建模块教程_Python创建模块及模块导入的方法
本文实例讲述了Python创建模块及模块导入的方法.分享给大家供大家参考.具体分析如下: python学习手册中写道: 定义模块,只要使用文本编辑器,把一些python代码输入到文本中,然后以.py为 ...
- python常用模块用法_python常用模块(一)
#什么是模块呢?就是用一大坨代码来完成一个功能的代码集合,是不是简单易懂 #类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个 ...
- python变量和常量_Python数学模块常量和示例
python变量和常量 Python数学模块常量 (Python math module constants) In the math module, there are some of the de ...
- python引入模块教程_python导入模块--案例
1 导入模块 1.1 问题 本案例要求先编写一个star模块,主要要求如下: 建立工作目录 ~/bin/ 创建模块文件 ~/bin/star.py 模块中创建pstar函数,实现打印50个星号的功能 ...
- python 逐行读取文件_Python fileinput模块:逐行读取多个文件
前面章节中,我们学会了使用 open() 和 read()(或者 readline().readlines() )组合,来读取单个文件中的数据.但在某些场景中,可能需要读取多个文件的数据,这种情况下, ...
- python模块总结_Python常用模块资料总结和归纳
Python模块是什么? 一个完整大型的python程序是由模块和包的形式组织起来的,可见模块在python中的重要性.模块是一种组织型式,它许多有关联(关系)的代码组织放到单独的独立文件中.简单的说 ...
最新文章
- python创建一个txt文件-python新建txt文件,并逐行写入数据
- 错误:Script file ‘D:\software_install\Anaconda_install\Scripts\pip-script.py‘ is not present.完美解决方法
- Python四道面试题
- php显示无法找到该网页,window_Win8系统IE浏览器提示无法找到该网页的解决方法, 我们在浏览网页的时候, - phpStudy...
- 统计iOS项目代码行数
- MyCat分布式数据库集群架构工作笔记0002---数据库中间件对比
- 织梦新建顶级栏目打不开,解决办法
- 如何使用Intellij IDEA工具导入SVN项目
- dorado 7 使用总结
- 通用删除查询语句存储过程
- open-falcon配置报警
- 贪心算法题目 推销员
- 墨子科技成果是计算机,近年来取得了哪些科技成就_现代史_我爱历史网
- 【iOS开发】生成Appicon图标、为iOS应用添加图标
- 彼时彼刻恰似此时此刻
- 【总结】初创公司用AWS搭建高扩展性架构
- excel服务器项目管理软件,用excel做项目管理系统
- 网易招财猫(内测版)
- 201808月份校招提前批面试总结
- 排名前100的Android开源库
热门文章
- 先给自己定个小目标,比如写个爬虫程序
- JAVA经典算法50题(转)
- 【原】为DevExpress的ChartControl添加Y轴控制 和 GridControl中指定列添加超级链接
- Ecshop与Jquery冲突的完美解决方案(实践过,有效)
- 重拾CCNA,学习笔记持续更新ing......(4)
- 揭秘:美国国防部用什么样的操作系统
- php时间戳与日期互转
- ftp安装遇到的问题
- eclipse安装ADT插件重启后不显示Android SDK Manager和Android Virtual Device Manager图标的一种解决办法
- python3 实现 php serialize 函数