logging主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等

日记级别:

可以设置不同的日志等级,用于控制日志的输出,

日志等级:使用范围

FATAL:致命错误

CRITICAL:特别严重的事情,如内存耗尽、磁盘空间为空,一般很少使用

ERROR:发生错误时,如IO操作失败或者连接问题

WARNING:发生很重要的事件,但是并不是错误时,如用户登录密码错误

INFO:处理请求或者状态变化等日常事务

DEBUG:调试过程中使用DEBUG等级,如算法中每个循环的中间状态

#设置日志的级别和格式

logging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s')

ogging.basicConfig函数各参数:

filename:指定日志文件名,不设置时打印到控制台;

filemode:和file函数意义相同,指定日志文件的打开模式,'w'或者'a',默认为’a’

format:指定输出的格式和内容,format可以输出很多有用的信息,

参数:作用

%(levelno)s:打印日志级别的数值

%(levelname)s:打印日志级别的名称

%(pathname)s:打印当前执行程序的路径,其实就是sys.argv[0]

%(filename)s:打印当前执行程序名

%(funcName)s:打印日志的当前函数

%(lineno)d:打印日志的当前行号

%(asctime)s:打印日志的时间

%(thread)d:打印线程ID

%(threadName)s:打印线程名称

%(process)d:打印进程ID

%(message)s:打印日志信息

datefmt:指定时间格式,同time.strftime();

level:设置日志级别,默认为logging.WARNNING;

stream:指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略;

设置日志输出方式:

logger = logging.getLogger(__name__)logger.setLevel(level = logging.INFO)
 
#设置文件方式输出handler = logging.FileHandler("logger.txt")handler.setLevel(logging.INFO)formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')handler.setFormatter(formatter)
#设置控制台方式输出console = logging.StreamHandler()console.setLevel(logging.INFO)logger.addHandler(handler)logger.addHandler(console)
#设置回滚日志
import logging.handlers#定义一个RotatingFileHandler,最多备份3个日志文件,每个日志文最大1KrHandler = logging.handlers.RotatingFileHandler("log.txt",maxBytes = 1*1024,backupCount = 3)rHandler.setLevel(logging.INFO)formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')rHandler.setFormatter(formatter)
logger.addHandler(rHandler)
logger.info("Start print log")logger.debug("Do something")logger.warning("Something maybe fail.")logger.info("Finish")

[python]python logging 模块相关推荐

  1. python之 logging模块详细使用【转载】

    很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,主要用于输出 ...

  2. Python 日志logging模块初探及多线程踩坑(2)

    系列文章: Python 日志logging模块初探及多线程踩坑(1) Python 日志logging模块初探及多线程踩坑(2) 接着上面一篇文章,我们这篇来写一个多进程兼容且无损性能的 Timed ...

  3. python 之logging 模块

    很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...

  4. Python中logging模块的基本用法

    本文首发于:行者AI 在开发项目时,我们不可能将所有的信息都打印在控制台中.我们可以使用Python标准库提供的logging API来处理.相比print,logging模块提供了许多强大而灵活的功 ...

  5. python stdout_详解使用python的logging模块在stdout输出的两种方法

    详解使用python的logging模块在stdout输出 前言: 使用python的logging模块时,除了想将日志记录在文件中外,还希望在前台执行python脚本时,可以将日志直接输出到标准输出 ...

  6. python 日志 logging模块(详细解析)

    1 基本使用 转自:https://www.cnblogs.com/wf-linux/archive/2018/08/01/9400354.html 配置logging基本的设置,然后在控制台输出日志 ...

  7. python使用logging模块记录日志

    记录日志: import logginglogging.basicConfig(format='%(asctime)s - %(levelname)s: %(message)s', # 日志打印格式l ...

  8. python中logging模块详解_python logging日志模块详解

    logging 日志模块详解 用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这 ...

  9. python中logging模块的一些简单用法

    用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所 ...

  10. Python之logging模块

    logging模块是Python自带的,不是内置的模块. logging分为五个日志级别: 1.DEBUG = 10(调试级别) 2.INFO = 20(消息,正常运行级别) 3.WARNING = ...

最新文章

  1. 孙正义看科技未来:今后30年要把钱和精力投向哪里
  2. 一个由印度人编写的VC串口类
  3. 【新产品发布】EVC9001 USB 隔离器
  4. 从windows上传文件到linux,中文名乱码解决方法
  5. 框架:初识Spring
  6. 2019.07.11
  7. VTK:3DArray用法实战
  8. YBTOJ洛谷P3209:平面图判定(2-SAT)
  9. 欢乐SSL初二组周六赛【2019.4.27】
  10. Python中转换角度为弧度的radians()方法
  11. [系列文章]上传文件管理控件v2
  12. 简直没法玩!iOS 13三指手势影响多款游戏操作,腾讯建议玩家谨慎更新
  13. [211渣硕] 腾讯/阿里/携程 详细NLP算法实习 面经
  14. php-fpm linux_Linux下PHP-fpm配置
  15. Java神鬼莫测之MyBatis中$与#的区别(五)
  16. spring security免登录动态配置方案2
  17. 怎么获取大量新鲜可用的迅雷白金会员账号!?
  18. 数据结构重点选择题(高分必备)
  19. linux看温度命令,linux查看cpu温度命令
  20. Win10提示“无法使用内置管理员账户打开计算器”解决方案

热门文章

  1. 必应拼音输入法与搜狗拼音输入法体验性分析检测
  2. led设备驱动(s3c_led.c)
  3. 关于MP4 fileformat中 duration及timescale相关的几个地方
  4. 使用IConfigurationSectionHandler在web.config中增加自定义配置
  5. 视频过大怎么压缩变小
  6. UDF-java获取名字中的姓
  7. 快速实现一个简单的canvas迷宫游戏
  8. IBM推出Watson广告服务:认知计算将重塑营销市场?
  9. 使用keytool 生成证书
  10. 使用sqljdbc连接mssql数据库,maven生成jar运行后报Exception in thread main java.lang.SecurityException错误...