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

Python写自动化之logging日志写入

时间:2015-03-03 16:48:08      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:python   logging   日志   

日志写入是我们日常工作中常用到的功能,我们可以直接使用写文件的方式来以自己的方式写日志,另外,当我们在一个比较大的项目中,涉及到日志写入时,一般会使用logging模块来进行日志的写入,第一步,先写一个单例,创建一个logger对象:

def _instance():
    global logger
    if logger is None:
        logging.config.fileConfig(os.path.join(util.get_current(), "logger.conf"))
        logger = logging.getLogger("root")
    return logger

接下来,我们就可以使用logger对象进行不同级别日志的写入了,看下代码:

def info(msg):
    _instance().info(msg)


def warning(msg):
    _instance().warning(msg)


def debug(msg):
    _instance().debug(msg)


def error(msg):
    _instance().error(msg)


def exception(msg):
    _instance().exception(msg)


def critical(msg):
    _instance().critical(msg)
So Easy,你应该已经发现了,在我们新建logger对象时,使用到了一个conf文件,再来看下conf的写法吧

#logger.conf
###############################################
[loggers]
keys=root

[logger_root]
level = INFO
handlers = consoleHandler, fileHandler

###############################################
[handlers]
keys = consoleHandler, fileHandler

[handler_consoleHandler]
class = StreamHandler
level = DEBUG
formatter = form01
args=(sys.stderr,)

[handler_fileHandler]
class = handlers.RotatingFileHandler
level = WARNING
formatter = form01
args=('myserver.log', 'a', 10 * 1024 * 1024, 5)

###############################################
[formatters]
keys=form01

[formatter_form01]
format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s
datefmt=%a, %d %b %Y %H:%M:%S
从上往下,首先配置logger的名称为root,在logger对象获取时有用到这个名字哦;

接着定义root的处理级别及写入方式,日志级别顺序为info debug warning exception error critical,示例中定义了两种写入方式consoleHandler、fileHandler;

handlers下,定义了写入方式详细的类,写入级别,写入信息格式,写入时参数

ok,Python写日志的方式就完成了~·~

欢迎关注“搜狗测试”公众号,每天一篇测试相关的文章与您分享,共同讨论软件测试的技术与发展




Python写自动化之logging日志写入

标签:python   logging   日志   

原文地址:http://blog.csdn.net/sogouauto/article/details/44038421

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