python logging模块 默认_python logging模块
函数式简单配置
importlogging
logging.debug('debug message') #计算或者工作的细节
logging.info('info message') #记录一些用户的增删改查的操作
logging.warning('warning message') #警告操作
logging.error('error message') #警告操作
logging.critical('critical message') #批判的 直接导致程序出错退出的
默认情况下Python的logging模块将日志打印到了标准输出中,且只显示了大于等于WARNING级别的日志,这说明默认的日志级别设置为WARNING(日志级别等级CRITICAL > ERROR > WARNING > INFO > DEBUG),默认的日志格式为日志级别:Logger名称:用户输出消息。
灵活配置日志级别,日志格式,输出位置:
importlogging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filename='/tmp/test.log',
filemode='w')
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
参数配置:
logging.basicConfig()函数中可通过具体参数来更改logging模块默认行为,可用参数有:
filename:用指定的文件名创建FiledHandler,这样日志会被存储在指定的文件中。
filemode:文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”。
format:指定handler使用的日志显示格式。
datefmt:指定日期时间格式。
level:设置rootlogger(后边会讲解具体概念)的日志级别
stream:用指定的stream创建StreamHandler。可以指定输出到sys.stderr,sys.stdout或者文件(f=open(‘test.log’,’w’)),默认为sys.stderr。若同时列出了filename和stream两个参数,则stream参数会被忽略。
format参数中可能用到的格式化串:%(name)s Logger的名字%(levelno)s 数字形式的日志级别%(levelname)s 文本形式的日志级别%(pathname)s 调用日志输出函数的模块的完整路径名,可能没有%(filename)s 调用日志输出函数的模块的文件名%(module)s 调用日志输出函数的模块名%(funcName)s 调用日志输出函数的函数名%(lineno)d 调用日志输出函数的语句所在的代码行%(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示%(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数%(asctime)s 字符串形式的当前时间。默认格式是 “2018-09-08 16:49:45,896”。逗号后面的是毫秒%(thread)d 线程ID。可能没有%(threadName)s 线程名。可能没有%(process)d 进程ID。可能没有%(message)s用户输出的消息
logger对象配置
importlogging
logger= logging.getLogger() #先创建一个log对象 logger#创建一个handler,用于写入日志文件
fh = logging.FileHandler('test.log',encoding='utf-8')#再创建一个handler,用于输出到控制台
ch =logging.StreamHandler()#还要创建一个格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)#文件操作符 绑定一个 格式
ch.setFormatter(formatter) ## 屏幕操作符 绑定一个 格式
logger.addHandler(fh) #logger对象来绑定:文件操作符, 屏幕操作符
logger.addHandler(ch) #logger对象还可以添加多个fh和ch对象
logger.debug('logger debug message') #计算或者工作的细节
logger.info('logger info message') #记录一些用户的增删改查的操作
logger.warning('logger warning message') #警告操作
logger.error('logger error message') #错误操作
logger.critical('logger critical message') #批判的 直接导致程序出错退出的
logging库提供了多个组件:Logger、Handler、Filter、Formatter。Logger对象提供应用程序可直接使用的接口,Handler发送日志到适当的目的地,Filter提供了过滤日志信息的方法,Formatter指定日志显示格式。另外,可以通过:logger.setLevel(logging.Debug)设置级别,当然,也可以通过
fh.setLevel(logging.Debug)单对文件流设置某个级别。
python logging模块 默认_python logging模块相关推荐
- python logging 控制其他模块等级_Python常用模块:logging模块介绍
简单使用 #!/usr/local/bin/python# -*- coding:utf-8 -*-import logginglogging.debug('debug message')loggin ...
- python logging日志分割_python logging日志模块以及多进程日志
本篇文章主要对 python logging 的介绍加深理解.更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件. 1. logging日志模块介绍 python ...
- python中的模块原则_python 的模块与包
一 模块 1.什么是模块 模块是一系列功能的结合体 分为三大类: 1.内置的模块 2.第三方的模块 3.自定义的模块 一个 python 文件本身就是一个模块,文件名:m.py 模块名: ...
- python re模块下载_python re模块详解
1.正则表达式基础 1.1正则表达式概念 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...
- python引入模块教程_python导入模块--案例
1 导入模块 1.1 问题 本案例要求先编写一个star模块,主要要求如下: 建立工作目录 ~/bin/ 创建模块文件 ~/bin/star.py 模块中创建pstar函数,实现打印50个星号的功能 ...
- python 逐行读取文件_Python fileinput模块:逐行读取多个文件
前面章节中,我们学会了使用 open() 和 read()(或者 readline().readlines() )组合,来读取单个文件中的数据.但在某些场景中,可能需要读取多个文件的数据,这种情况下, ...
- python模块总结_Python常用模块资料总结和归纳
Python模块是什么? 一个完整大型的python程序是由模块和包的形式组织起来的,可见模块在python中的重要性.模块是一种组织型式,它许多有关联(关系)的代码组织放到单独的独立文件中.简单的说 ...
- python主函数调用格式_Python的模块与函数
一.概述Python的程序由包.模块和函数组成. 函数是一段可重用的有名称的代码.通过输入的参数值,返回需要的结果,并可存储在文件中供以后使用.几乎任何Python代码都可放在函数中.Python为函 ...
- python导入模块方法_Python导入模块的3种方法(非常详细)
许多初学者经常遇到这样的问题: 自定义Python模板后,在其他文件中使用带有import(或从... import)语句导入文件时,Python解释器还会出现以下错误: ModuleNotFound ...
最新文章
- 干货丨一文看懂生成对抗网络:从架构到训练技巧
- c语言 mysql_bind,C语言连接SQLSERVER数据库
- 23种设计模式之适配器模式(Adapter)
- php简单的mysql类_PHP 简单mysql封装类
- [USACO1.1]坏掉的项链Broken Necklace
- 计组-CISC/RISC小节
- MFC文件打开格式,MFC默认打开文档后缀(支持打开多图像格式)
- shell中$( )与${ }及$(( ))的区别
- JSONOBject的fluentPut(key,value)方法:可链式设置元素
- asm.js性能提升,让游戏飞起来
- maven添加mirror_Maven配置setting.xml值Mirror与Repository区别(示例代码)
- 开发软件安装教程-MATLAB2016b安装教程图解
- 计算机三级 信息安全技术题库——选择题1
- linux下golang protoc安装详细教程
- 社交电商概念与特点,十大社交电商平台及产业链模式图解
- [1160]C语言实验——某年某月的天数
- 手机 音乐 推送 到 linux 播放器,很简单地解决了:用手机控制群晖播放音乐并推送到功放的问题...
- python分布式集群ray_取代Python多进程!伯克利开源分布式框架Ray
- PS 中的7种投影技
- Android TV-Recyclerview添加按键音
热门文章
- 用java servlet Filter编写过滤器
- C++面向对象思想 两条直线交点计算
- python读取图像并相加_python使用PIL和matplotlib获取图片像素点并合并解析
- 计算机知识产权 教学目标,计算机教学设计模板
- fadeToggle()
- dos c语言显示符号图案,在DOS命令行窗口中显示出用各种字符拼凑出来的各种图案的实现方法,如本人头像...
- java ajax报错500,(Struts2+JSON+Ajax) XMLHttpRequest ==500如何解决
- 台式机没有显示计算机图标,为什么台式电脑没有喇叭图标
- 初始java_第一章__初始JAVA
- 职坐标c语言,C/C++知识点之hexdump的C语言实现