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日志模块logbook使用方法相关推荐

  1. python如何创建模块教程_Python创建模块及模块导入的方法

    本文实例讲述了Python创建模块及模块导入的方法.分享给大家供大家参考.具体分析如下: python学习手册中写道: 定义模块,只要使用文本编辑器,把一些python代码输入到文本中,然后以.py为 ...

  2. python os模块方法_python os模块方法总结

    在python中os是一个非常常用的模块,下面是对os中方法的总结(实验为Mac环境) 1 .  os.name  :输出字符串指示使用的平台,windows是'nt', linux/unix/mac ...

  3. python logging 控制其他模块等级_Python常用模块:logging模块介绍

    简单使用 #!/usr/local/bin/python# -*- coding:utf-8 -*-import logginglogging.debug('debug message')loggin ...

  4. python中的模块原则_python 的模块与包

    一 模块 1.什么是模块 ​ 模块是一系列功能的结合体 ​分为三大类: ​1.内置的模块 ​2.第三方的模块 ​3.自定义的模块 ​一个 python 文件本身就是一个模块,文件名:m.py 模块名: ...

  5. python re模块下载_python re模块详解

    1.正则表达式基础 1.1正则表达式概念 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...

  6. python中的模块调用_Python中模块互相调用的例子

    Python中模块互相调用容易出错,经常是在本地路径下工作正常,切换到其他路径来调用,就各种模块找不到了.解决方法是通过 __file__ 定位当前文件的真实路径,再通过 sys.path.appen ...

  7. python中math函数_Python math模块 数学函数教程

    在Python基础教程中,大家都已经了解了Python有很多运算符可以进行一些数学运算,但是要处理复杂的问题是不是所有代码都要自己一行一行的来编写呢? 玩蛇网提醒大家,这个时候,最先想到的就应该是py ...

  8. python模块总结_Python常用模块资料总结和归纳

    Python模块是什么? 一个完整大型的python程序是由模块和包的形式组织起来的,可见模块在python中的重要性.模块是一种组织型式,它许多有关联(关系)的代码组织放到单独的独立文件中.简单的说 ...

  9. python主函数调用格式_Python的模块与函数

    一.概述Python的程序由包.模块和函数组成. 函数是一段可重用的有名称的代码.通过输入的参数值,返回需要的结果,并可存储在文件中供以后使用.几乎任何Python代码都可放在函数中.Python为函 ...

最新文章

  1. Excel常用公式记录
  2. android标题栏添加按钮_改善Android布局性能
  3. 共享可写节包含重定位_PE结构学习01-DOS头-NT头-节表头
  4. vc2010+openCV1.0实现将指定目录下的所有jpg文件缩放后存放到目标文件夹
  5. 成员函数指针与高性能的C++委托(中篇)
  6. STM32工作笔记0077---UCOSIII中使用串口发送数据要注意的点
  7. 详解如何实现最基本的AJAX框架
  8. Affinity Photo for Mac中文破解版永久激活方法
  9. wordpress网站提示“建立数据库连接时出错”
  10. File Juicer for Mac(文件内容提取工具)
  11. 【支付架构】支付营销 - 微信会员有礼
  12. 泡芙噶的计算机网络(3)-扑朔迷离的Cisco Packet Tracer实验
  13. python3和5_Python3算法之五:最大子序和
  14. 美通企业周刊 | 理想汽车提交赴美IPO文件;默克最大M Lab协作中心落户上海;百世上线东南亚门到门寄递服务...
  15. 东南大学提出条件自监督小样本学习方法,显著提升小样本分类准确率
  16. Navicat Premium 12安装包和破解补丁(亲测有效)
  17. 复旦大学李孝男博士:结合词典的中文命名实体识别
  18. android字体不统一,Android下EditText中的字体不统一问题
  19. 前端开发面试题及答案
  20. vb/vb.net原创文章精粹(4)

热门文章

  1. 神经机器翻译中语言学知识的引入
  2. 从word、wps、excel、pdf和txt文件中查找文本的工具
  3. 公积金房贷计算器最新2014
  4. ‘@JvmDefault‘ is only supported since JVM target 1.8. Recompile with ‘-jvm-ta
  5. SSH的常用玩法(SSH隧道)
  6. Matlab:数据集读取 imageDatastore() 的用法
  7. RGB 色彩表(tkinter使用,色彩名称,十六进制名称)
  8. Python中import的as语法
  9. mathematica-画图
  10. 非结构化数据传统管理的弊端