python logging默认情况下打印_python logging日志打印过程解析

一、 基础使用

1.1 logging使用场景

日志是什么?这个不用多解释。百分之九十的程序都需要提供日志功能。Python内置的logging模块,为我们提供了现成的高效好用的日志解决方案。但是,不是所有的场景都需要使用logging模块,下面是Python官方推荐的使用方法:

任务场景

最佳工具

普通情况下,在控制台显示输出

print()

报告正常程序操作过程中发生的事件

logging.info()(或者更详细的logging.debug())

发出有关特定事件的警告

warnings.warn()或者logging.warning()

报告错误

弹出异常

在不引发异常的情况下报告错误

logging.error(), logging.exception()或者logging.critical()

logging模块定义了下表所示的日志级别,按事件严重程度由低到高排列(注意是全部大写!因为它们是常量。):

级别

级别数值

使用时机

DEBUG

10

详细信息,常用于调试。

INFO

20

程序正常运行过程中产生的一些信息。

WARNING

30

警告用户,虽然程序还在正常工作,但有可能发生错误。

ERROR

40

由于更严重的问题,程序已不能执行一些功能了。

CRITICAL

50

严重错误,程序已不能继续运行。

默认级别是WARNING,表示只有WARING和比WARNING更严重的事件才会被记录到日志内,低级别的信息会被忽略。因此,默认情况下,DEBUG和INFO会被忽略,WARING、ERROR和CRITICAL会被记录。

有多种方法用来处理被跟踪的事件。最简单的方法就是把它们打印到终端控制台上。或者将它们写入一个磁盘文件内。

1.2 简单范例

在什么都不配置和设定的情况下,logging会简单地将日志打印在显示器上,如下例所示:

import logging

logging.warning('Watch out!') # 消息会被打印到控制台上

logging.info('I told you so') # 这行不会被打印,因为级别低于默认级别

如果,将上面的代码放在一个脚本里并运行,结果是:

WARNING:root:Watch out!

1.3 高级使用

import logging

#创建logger记录器

logging.basicConfig(filename='example.log',level=logging.DEBUG)

logger = logging.getLogger('simple_example')

logger.setLevel(logging.DEBUG)

#创建一个控制台处理器,并将日志级别设置为debug

ch = logging.StreamHandler()

ch.setLevel(logging.DEBUG)

#创建formatter格式化器

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

#将formatter 添加到ch处理器

ch.setFormatter(formatter)

#将ch添加到logger

logger.addHandler(ch)

#然后就可以开始使用了

# logger.debug('debug message')

#logger.info('info message')

# logger.warning('warn message')

# logger.error('error message')

# logger.critical('critical message')

def Logss():

#要打印的信息

a = "3"

logger.info(a)

Logss()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

本文标题: python logging日志打印过程解析

本文地址: http://www.cppcns.com/jiaoben/python/281484.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值