码迷,mamicode.com
首页 > 编程语言 > 详细

Python3的日志添加功能

时间:2018-09-17 19:47:45      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:pre   cti   critical   需要   idt   handlers   统一   height   关键字   

  python日志添加功能,主要记录程序运行中的日志,统一收集并分析

一、日志的级别

debug(调试信息) info() warning(警告信息)error(错误信息) critical(致命信息)  从左往右越来越严重
日志等级(level)描述
DEBUG 最详细的日志信息,典型应用场景是 问题诊断
INFO 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作
WARNING 当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的
ERROR 由于一个更严重的问题导致某些功能不能正常运行时记录的信息
CRITICAL 当发生严重错误,导致应用程序不能继续运行时记录的信息
注意,系统只显示warning(警告信息)级别以上的日志,例如我们输入一下代码:
import logging
logging.debug(这是个debug级别的信息)#输出时被过滤掉了
logging.info(这是个info级别的信息)#输出时被过滤掉了
logging.warning(这是个warning级别的信息)
logging.error(这是个error级别的信息)
logging.critical(这是个critical级别的信息)

控制台输出

技术分享图片

代码写的是5行数据,实际在控制台只有3行,那是因为系统默认输出 warning(警告)及以上的日志。  

如果需要全部展示,需要调用

logging.basicConfig(level=logging.DEBUG) #basicConfig基础配置 可以输入关键字参数,level是等级的意思 logging.DEBUG级别必须大写  如果是调用函数就需要小写

在level那里展示指定级别。 加上 logging.basicConfig 之后运行,结果如下,能全部展示出来了

技术分享图片

 

二、日志格式化输出

 将日志输出到控制台或者文件中

fp = logging.FileHandler(a.txt, encoding=utf-8)   #将日志记录到文件中
fs = logging.StreamHandler()     #将日志输出到控制台

放在handler中进行调用 

import logging
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"    # 日志格式化输出
DATE_FORMAT = "%m/%d/%Y %H:%M:%S %p"                        # 日期格式
fp = logging.FileHandler(a.txt, encoding=utf-8)
fs = logging.StreamHandler()
logging.basicConfig(level=logging.DEBUG, format=LOG_FORMAT, datefmt=DATE_FORMAT, handlers=[fp, fs])    # 调用


logging.debug("This is a debug log.哈哈")
logging.info("This is a info log.")
logging.warning("This is a warning log.")
logging.error("This is a error log.")
logging.critical("This is a critical log.")

控制台和文件中就都能展示日志了

 

  

  

 




Python3的日志添加功能

标签:pre   cti   critical   需要   idt   handlers   统一   height   关键字   

原文地址:https://www.cnblogs.com/jsondai/p/9663633.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!