码迷,mamicode.com
首页 > 编程语言 > 详细

python logging模块使用

时间:2016-09-19 22:12:35      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

近来再弄一个小项目,已经到收尾阶段了。希望加入写log机制来增加程序出错后的判断分析。尝试使用了python logging模块。

#-*- coding:utf-8 -*-
import logging
import sys
class LogRecord(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)

    def GetLogObj(self):
        return self.mylogger

logging模块使用起来也比较简单。

logging.getLogger([name]):

返回一个logger对象,如果没有指定名字将返回root logger。

self.mylogger.setLevel(level):

指定最低的日志级别,可用的日志级别有logging.DEBUG<logging.INFO<logging.WARNING<logging.ERRO<logging.CRITICAL。

只有日志等级大于或等于设置的日志级别的日志才会被输出。

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模块使用

标签:

原文地址:http://www.cnblogs.com/nx520zj/p/5886719.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!