python日志模块logbook使用方法


Posted in Python onSeptember 19, 2019

python自带了日志模块logging,可以用来记录程序运行过程中的日志信息。同时python还有logbook模块用来取代logging模块,在很多的项目中logbook模块使用也是比较的多,因此本文介绍一下python logbook模块的使用方法。

1,安装

pip install logbook

官方的使用文档,这里

2,使用方法如下:

文件 logconf.py 初始化日志以及设置日志格式等参数:

import sys
import os
import logbook
import logbook.more
def logFormate(record,handler):
  formate = "[{date}] [{level}] [{filename}] [{func_name}] [{lineno}] {msg}".format(
    date = record.time,               # 日志时间
    level = record.level_name,            # 日志等级
    filename = os.path.split(record.filename)[-1],  # 文件名
    func_name = record.func_name,          # 函数名
    lineno = record.lineno,             # 行号
    msg = record.message               # 日志内容
  )
  return formate
def initLogger(filename,fileLogFlag=True,stdOutFlag=False):
  LOG_DIR = os.path.join('log')
  if not os.path.exists(LOG_DIR):
    os.makedirs(LOG_DIR)
  logbook.set_datetime_format('local')
  logger = logbook.Logger(filename)
  logger.handlers = []
  if fileLogFlag:#日志输出到文件
    logFile = logbook.TimedRotatingFileHandler(os.path.join(LOG_DIR, '%s.log' % 'log'),date_format='%Y-%m-%d', bubble=True, encoding='utf-8')
    logFile.formatter = logFormate
    logger.handlers.append(logFile)
  if stdOutFlag:#日志打印到屏幕
    logStd = logbook.more.ColorizedStderrHandler(bubble=True)
    logStd.formatter = logFormate
    logger.handlers.append(logStd)
  return logger

1,该文件中logFormate函数设置日志的输出格式。

2,initLogger函数中fileLogFlag为日志写入文件标示。

3,initLogger函数中stdOutFlag标示日志打印到终端标示。

上述参数可以根据实际的情况进行设置。

文件globalConf.py将logger定义为一个供其他所有模块使用全局公共变量,因此单独设置该文件,供其他文件引用。

import logconf
class ShareLogger:
 logger = logconf.initLogger('log.txt',True,True)
 
def getShareLogger():
 return ShareLogger.logger
def setShareLogger(logger):
 ShareLogger.logger = logger

文件test.py 为日志具体使用示例文件:

import sys
import os
import globalConf
global logger
logger = globalConf.getShareLogger()
if __name__ == "__main__":
 logger.info("this is info")
 logger.warning("this iswarning")
 logger.debug("this is debug")
 logger.critical("this is critical")

该文件中调用globalConf.py,获取logger日志变量,根据不同的日志等级进行记录。logbook模块的日志等级说明,见这里。

logbook.CRITICAL     严重错误信息
logbook.ERROR       一般错误信息
logbook.WARNING     警告信息
logbook.INFO   正常的记录信息
logbook.DEBUG  调试程序输出的信息
logbook.NOTSET      正常的记录信息

在程序运行起来之后,可以查看存储的日志文件,都会按照上述的日志格式进行记录。

总结

以上所述是小编给大家介绍的python日志模块logbook使用方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python中对list去重的多种方法
Sep 18 Python
编写简单的Python程序来判断文本的语种
Apr 07 Python
Python函数中*args和**kwargs来传递变长参数的用法
Jan 26 Python
浅谈对yield的初步理解
May 29 Python
使用python实现快速搭建简易的FTP服务器
Sep 12 Python
Django CBV类的用法详解
Jul 26 Python
Python对列表的操作知识点详解
Aug 20 Python
python统计字符的个数代码实例
Feb 07 Python
Python实现括号匹配方法详解
Feb 10 Python
python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例
Mar 18 Python
最新pycharm安装教程
Nov 18 Python
python正则表达式re.search()的基本使用教程
May 21 Python
python统计指定目录内文件的代码行数
Sep 19 #Python
python如何从文件读取数据及解析
Sep 19 #Python
python实现代码统计器
Sep 19 #Python
python实现代码统计程序
Sep 19 #Python
python tkinter图形界面代码统计工具(更新)
Sep 18 #Python
python3获取url文件大小示例代码
Sep 18 #Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
Sep 18 #Python
You might like
利用PHP命令行模式采集股票趋势信息
2016/08/09 PHP
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
2013/09/18 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
IScroll那些事_当内容不足时下拉刷新的解决方法
2017/07/18 Javascript
使用yeoman构建angular应用的方法
2017/08/14 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
小程序实现长按保存图片的方法
2019/12/31 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
python 合并文件的具体实例
2013/08/08 Python
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
Python实现的简单发送邮件脚本分享
2014/11/07 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
对python中的float除法和整除法的实例详解
2019/07/20 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
利用Python优雅的登录校园网
2020/10/21 Python
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
上级检查欢迎词
2014/01/18 职场文书
《胡杨》教学反思
2014/02/16 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
会计核算科岗位职责
2014/03/19 职场文书
寒假家长评语大全
2014/04/16 职场文书
三分钟演讲稿范文
2014/04/24 职场文书
担保书范文
2015/01/20 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
公务员保密工作承诺书
2015/05/04 职场文书
Consul在linux环境的集群部署
2022/04/08 Servers
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server
Redis基本数据类型List常用操作命令
2022/06/01 Redis