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

1,安装

pip install logbook

官方的使用文档,这里

2,使用方法如下:

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

import sys
import os
import logbook
import logbook.moredef 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 formatedef 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 = logFormatelogger.handlers.append(logFile)if stdOutFlag:#日志打印到屏幕logStd = logbook.more.ColorizedStderrHandler(bubble=True)logStd.formatter = logFormatelogger.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.loggerdef setShareLogger(logger):ShareLogger.logger = logger

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

import sys
import os
import globalConfglobal 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           正常的记录信息

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

本文为CSDN村中少年原创文章,转载记得加上原创出处,博主链接这里。

python 日志模块--python logbook使用方法相关推荐

  1. python日志模块方法_python日志模块logbook使用方法

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

  2. Django中间件与python日志模块 介绍

    一.Django中间件 1.1 介绍 Django中的中间件是一个轻量级.底层的插件系统,介于request与response处理之间的一道处理过程(用来处理特定业务的请求和响应).中间件的设计为开发 ...

  3. Python os模块 -Python系统编程中的操作模块

    Python os模块 -Python系统编程中的操作模块 用途:处理(文件与目录)操作 以下为简单的常用操作 import os 导入os模块 help(os) 查看os模块帮助文档 os.name ...

  4. python ssl模块用法详解_一看就懂,Python 日志模块详解及应用!

    日志概述 百度百科的日志概述: Windows网络操作系统都设计有各种各样的日志文件,如应用程序日志,安全日志.系统日志.Scheduler服务日志.FTP日志.WWW日志.DNS服务器日志等等,这些 ...

  5. python日志模块_Python之日志处理(logging模块)

    转载自:https://www.cnblogs.com/yyds/p/6901864.html 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logg ...

  6. Python日志模块

    一.loguru的使用 Loguru 一个能彻底解放你的日志记录器. 它即插即用,具备多种方式滚动日志.自动压缩日志文件.定时删除等功能. 除此之外,多线程安全.高亮日志.日志告警等功能也不在话下. ...

  7. Python日志模块log

    1. 日志介绍 也就是日记,程序运行过程中产生的信息,程序如何运行的信息(什么时间做了什么) 日志即可以在终端中显示,也可以直接到文件当中显示 日志的作用:方便定位,记录 日志包含的信息:日期,等级, ...

  8. python导入模块的三种方法,例子: import numpy和from numpy import * (import matplotlib 和 from matplotlib import *)

    python导入模块有如下几种写法:以matplotlib为例 (跟numpy是一样的) 1,import matplotlib #整个导入matplotlib 2 , from matplotlib ...

  9. Python日历模块| weekheader()方法与示例

    Python calendar.weekheader()方法 (Python calendar.weekheader() Method) weekheader() method is an inbui ...

最新文章

  1. 一般判五年几年能出来_判刑五年能减刑多少年
  2. 动态规划算法php,php算法学习之动态规划
  3. 批量修改表的所有者对象
  4. 前端学习(2681):重读vue电商网站1之后台启动
  5. 检测网络是否稳定的计算机命令,如何查看自己的网络是否稳定
  6. kindeditor图片服务器php,kindeditor 粘贴网络图片保存到服务器
  7. azure blob_从Azure Databricks访问Azure Blob存储
  8. error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'产生原因
  9. 汇编:1位16进制数到ASCII码转换
  10. 如何制作双层PDF文档?其实只需简单一步!
  11. 交换机组合超级计算机,图解:世界上最快的超级计算机Roadrunner
  12. win10配置免密登录linux(centos7)
  13. WebView加载String字符串
  14. oracle查看视图属于哪个用户,oracle查询视图归属于哪个用户
  15. 爬取 48048 条评论,解读 9.3 分的「毒液」是否值得一看?
  16. 人工神经网络的训练步骤,神经网络训练过程图解
  17. Oracle ERP 仓库(inventory) 词汇1
  18. PHP网站打开太慢,如何解决!
  19. 如何使错误日志更加方便排查问题?
  20. 深入理解时间和空间复杂度

热门文章

  1. Clayman 游戏程序员养成计划
  2. 如何用cmd进入磁盘打开文件及其他cmd命令
  3. 游戏建模:次世代场景间谍屋制作分享
  4. close_wait状态的产生原因及解决
  5. 构建springclound项目(详情)
  6. esxi虚拟化服务器端口聚合,ESXI6.7虚拟机配置LACP静态汇聚端口聚合教程
  7. 职称计算机隐藏桌面图标,2016职称计算机Windows复习巩固题
  8. 快出数量级的性能是怎样炼成的
  9. ES5和ES6继承的区别
  10. nacos server 1.3 网盘地址