Python写自动化之logging日志写入

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

def _instance():global loggerif 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 = INFOhandlers = consoleHandler, fileHandler###############################################[handlers]keys = consoleHandler, fileHandler[handler_consoleHandler]class = StreamHandlerlevel = DEBUGformatter = form01args=(sys.stderr,)[handler_fileHandler]class = handlers.RotatingFileHandlerlevel = WARNINGformatter = form01args=('myserver.log', 'a', 10 * 1024 * 1024, 5)###############################################[formatters]keys=form01[formatter_form01]format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)sdatefmt=%a, %d %b %Y %H:%M:%S从上往下,首先配置logger的名称为root,在logger对象获取时有用到这个名字哦;

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

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

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

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

如果你不出去走走,你就会以为这就是世界。

Python写自动化之logging日志写入

相关文章:

你感兴趣的文章:

标签云: