函数式简单配置

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模块相关推荐

  1. python logging 控制其他模块等级_Python常用模块:logging模块介绍

    简单使用 #!/usr/local/bin/python# -*- coding:utf-8 -*-import logginglogging.debug('debug message')loggin ...

  2. python logging日志分割_python logging日志模块以及多进程日志

    本篇文章主要对 python logging 的介绍加深理解.更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件. 1. logging日志模块介绍 python ...

  3. python中的模块原则_python 的模块与包

    一 模块 1.什么是模块 ​ 模块是一系列功能的结合体 ​分为三大类: ​1.内置的模块 ​2.第三方的模块 ​3.自定义的模块 ​一个 python 文件本身就是一个模块,文件名:m.py 模块名: ...

  4. python re模块下载_python re模块详解

    1.正则表达式基础 1.1正则表达式概念 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...

  5. python引入模块教程_python导入模块--案例

    1 导入模块 1.1 问题 本案例要求先编写一个star模块,主要要求如下: 建立工作目录 ~/bin/ 创建模块文件 ~/bin/star.py 模块中创建pstar函数,实现打印50个星号的功能 ...

  6. python 逐行读取文件_Python fileinput模块:逐行读取多个文件

    前面章节中,我们学会了使用 open() 和 read()(或者 readline().readlines() )组合,来读取单个文件中的数据.但在某些场景中,可能需要读取多个文件的数据,这种情况下, ...

  7. python模块总结_Python常用模块资料总结和归纳

    Python模块是什么? 一个完整大型的python程序是由模块和包的形式组织起来的,可见模块在python中的重要性.模块是一种组织型式,它许多有关联(关系)的代码组织放到单独的独立文件中.简单的说 ...

  8. python主函数调用格式_Python的模块与函数

    一.概述Python的程序由包.模块和函数组成. 函数是一段可重用的有名称的代码.通过输入的参数值,返回需要的结果,并可存储在文件中供以后使用.几乎任何Python代码都可放在函数中.Python为函 ...

  9. python导入模块方法_Python导入模块的3种方法(非常详细)

    许多初学者经常遇到这样的问题: 自定义Python模板后,在其他文件中使用带有import(或从... import)语句导入文件时,Python解释器还会出现以下错误: ModuleNotFound ...

最新文章

  1. 干货丨一文看懂生成对抗网络:从架构到训练技巧
  2. c语言 mysql_bind,C语言连接SQLSERVER数据库
  3. 23种设计模式之适配器模式(Adapter)
  4. php简单的mysql类_PHP 简单mysql封装类
  5. [USACO1.1]坏掉的项链Broken Necklace
  6. 计组-CISC/RISC小节
  7. MFC文件打开格式,MFC默认打开文档后缀(支持打开多图像格式)
  8. shell中$( )与${ }及$(( ))的区别
  9. JSONOBject的fluentPut(key,value)方法:可链式设置元素
  10. asm.js性能提升,让游戏飞起来
  11. maven添加mirror_Maven配置setting.xml值Mirror与Repository区别(示例代码)
  12. 开发软件安装教程-MATLAB2016b安装教程图解
  13. 计算机三级 信息安全技术题库——选择题1
  14. linux下golang protoc安装详细教程
  15. 社交电商概念与特点,十大社交电商平台及产业链模式图解
  16. [1160]C语言实验——某年某月的天数
  17. 手机 音乐 推送 到 linux 播放器,很简单地解决了:用手机控制群晖播放音乐并推送到功放的问题...
  18. python分布式集群ray_取代Python多进程!伯克利开源分布式框架Ray
  19. PS 中的7种投影技
  20. Android TV-Recyclerview添加按键音

热门文章

  1. 用java servlet Filter编写过滤器
  2. C++面向对象思想 两条直线交点计算
  3. python读取图像并相加_python使用PIL和matplotlib获取图片像素点并合并解析
  4. 计算机知识产权 教学目标,计算机教学设计模板
  5. fadeToggle()
  6. dos c语言显示符号图案,在DOS命令行窗口中显示出用各种字符拼凑出来的各种图案的实现方法,如本人头像...
  7. java ajax报错500,(Struts2+JSON+Ajax) XMLHttpRequest ==500如何解决
  8. 台式机没有显示计算机图标,为什么台式电脑没有喇叭图标
  9. 初始java_第一章__初始JAVA
  10. 职坐标c语言,C/C++知识点之hexdump的C语言实现