python logging模块默认日志_python logging模块日志分析与打印日志

python logging模块日志分析与打印日志

logging.basicConfig(**kwargs):创建默认处理器从而将调试消息写至文件,它接受一个字典

filename:指定文件名,把记录输出定向的文件里面,如果不指定文件名就会直接打印到屏幕上

filemode:指打开文件的模式(默认为a)

format:指定的字符串格式

datefmt:指定日期格式

level:指定日志的级别

级别 值 含义

CRITICAL,FATAL 50 临界

ERROR 40 错误

WARNING,WARN 30 警告

INFO 20 通知

DEBUG 10 调试

代码: 代码示例:

#coding:utf-8

import logging

logging.basicConfig(level = logging.INFO)#定义日志级别为INFO级别

#下面是定义各个级别的日志输出

logging.debug('I am debug')

logging.info('I am info')

logging.warn('I am warning')

logging.error('I am error')

logging.critical('I am critical')

######运行结果######

>>> INFO:root:I am info

WARNING:root:I am warning

ERROR:root:I am error

CRITICAL:root:I am critical

由于定义的日志级别是INFO,而debug级别的值只有10,而INFO的是20。

所有不会打印出来,只打印大于INFO值的日志记录,一般调试程序都是直接打印在屏幕,没输出到文件。

logging模块还支持将线程名嵌入到各个日志消息中,利用logging模块调试多线程的例子:

代码: 代码示例:

#coding:utf-8

import threading

import time

import logging

logging.basicConfig(level = logging.DEBUG,

fo

rmat ='[%(levelname)8s]\t (%(threadName)10s)\t %(message)30s')

def worker():

#logging的日志格式必须是字符型,不接受float和int

logging.debug('worker s

tart:%s'%time.time())

time.sleep(2)

logging.debug('worker done:%s'%time.time())

def saihi():

logging.debug('saihi start:%s'%time.time())

time.sleep(2)

worker()

logging.debug('saihi done:%s'%time.time())

t = threading.Thread(target = saihi, name = 't')

x = threading.Thread(target = worker, name = 'x')

w = threading.Thread(target = worker)

t.start()

x.start()

w.start()

运行结果: [   DEBUG]   (         t)       saihi start:1374939516.13

[   DEBUG]   (         x)      worker start:1374939516.13

[   DEBUG]   (  Thread-1)      worker start:1374939516.13

[   DEBUG]   (         t)      worker start:1374939518.13

[   DEBUG]   (  Thread-1)       worker done:1374939518.13

[   DEBUG]   (         x)       worker done:1374939518.13

[   DEBUG]   (         t)       worker done:1374939520.13

[   DEBUG]   (         t)        saihi done:1374939520.13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值