[python]python logging 模块
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 模块相关推荐
- python之 logging模块详细使用【转载】
很多程序都有记录日志的需求,并且日志中包含的信息既有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,主要用于输出 ...
- Python 日志logging模块初探及多线程踩坑(2)
系列文章: Python 日志logging模块初探及多线程踩坑(1) Python 日志logging模块初探及多线程踩坑(2) 接着上面一篇文章,我们这篇来写一个多进程兼容且无损性能的 Timed ...
- python 之logging 模块
很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...
- Python中logging模块的基本用法
本文首发于:行者AI 在开发项目时,我们不可能将所有的信息都打印在控制台中.我们可以使用Python标准库提供的logging API来处理.相比print,logging模块提供了许多强大而灵活的功 ...
- python stdout_详解使用python的logging模块在stdout输出的两种方法
详解使用python的logging模块在stdout输出 前言: 使用python的logging模块时,除了想将日志记录在文件中外,还希望在前台执行python脚本时,可以将日志直接输出到标准输出 ...
- python 日志 logging模块(详细解析)
1 基本使用 转自:https://www.cnblogs.com/wf-linux/archive/2018/08/01/9400354.html 配置logging基本的设置,然后在控制台输出日志 ...
- python使用logging模块记录日志
记录日志: import logginglogging.basicConfig(format='%(asctime)s - %(levelname)s: %(message)s', # 日志打印格式l ...
- python中logging模块详解_python logging日志模块详解
logging 日志模块详解 用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这 ...
- python中logging模块的一些简单用法
用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所 ...
- Python之logging模块
logging模块是Python自带的,不是内置的模块. logging分为五个日志级别: 1.DEBUG = 10(调试级别) 2.INFO = 20(消息,正常运行级别) 3.WARNING = ...
最新文章
- 孙正义看科技未来:今后30年要把钱和精力投向哪里
- 一个由印度人编写的VC串口类
- 【新产品发布】EVC9001 USB 隔离器
- 从windows上传文件到linux,中文名乱码解决方法
- 框架:初识Spring
- 2019.07.11
- VTK:3DArray用法实战
- YBTOJ洛谷P3209:平面图判定(2-SAT)
- 欢乐SSL初二组周六赛【2019.4.27】
- Python中转换角度为弧度的radians()方法
- [系列文章]上传文件管理控件v2
- 简直没法玩!iOS 13三指手势影响多款游戏操作,腾讯建议玩家谨慎更新
- [211渣硕] 腾讯/阿里/携程 详细NLP算法实习 面经
- php-fpm linux_Linux下PHP-fpm配置
- Java神鬼莫测之MyBatis中$与#的区别(五)
- spring security免登录动态配置方案2
- 怎么获取大量新鲜可用的迅雷白金会员账号!?
- 数据结构重点选择题(高分必备)
- linux看温度命令,linux查看cpu温度命令
- Win10提示“无法使用内置管理员账户打开计算器”解决方案
热门文章
- 必应拼音输入法与搜狗拼音输入法体验性分析检测
- led设备驱动(s3c_led.c)
- 关于MP4 fileformat中 duration及timescale相关的几个地方
- 使用IConfigurationSectionHandler在web.config中增加自定义配置
- 视频过大怎么压缩变小
- UDF-java获取名字中的姓
- 快速实现一个简单的canvas迷宫游戏
- IBM推出Watson广告服务:认知计算将重塑营销市场?
- 使用keytool 生成证书
- 使用sqljdbc连接mssql数据库,maven生成jar运行后报Exception in thread main java.lang.SecurityException错误...