import logging
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')输出:
E:\Python>python lianxi.py
WARNING:root:warning message
ERROR:root:error message
CRITICAL:root:critical message#默认情况下Python的logging模块将日志输出,且只输出大于等于WARNING级别的日志。(日志级别等级critical>error>warning>info>debug)( 危急>错误>警告>信息>调试>没有设置),默认输出的日志格式为 日志级别:logger名称:用户输出消息。
#设置日志的输出格式import logging
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',#r'xxx'   r后接一个字符串表示其中的转义字符不解析filename=r'E:\Python\test.log',filemode='w')
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')文件内容为:
2016-05-15 10:05:24,843 lianxi.py[line:7] DEBUG debug message
2016-05-15 10:05:24,843 lianxi.py[line:8] INFO info message
2016-05-15 10:05:24,843 lianxi.py[line:9] WARNING warning message
2016-05-15 10:05:24,843 lianxi.py[line:10] ERROR error message
2016-05-15 10:05:24,843 lianxi.py[line:11] CRITICAL critical message#可见在logging.basicConfig()函数中可以通过具体参数来更改logging模块的默认行为,可用参数有:
#ilename:用指定的文件名创建FileHandler,这样日志就会被储存在指定的文件中。
#filemode:文件打开的方式,在指定了filename时使用这个参数,默认为‘a’。
#format:  指定handler使用日期格式。
#datefmt:指定日期格式。
#level:     设置rootlogger的日志级别。
#stream: 用指定的stream创建streamhandler。当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 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
#%(thread)d 线程ID。可能没有
#%(threadName)s 线程名。可能没有
#%(process)d 进程ID。可能没有
#%(message)s用户输出的消息
#Logging的实例应用过程。。。。。import logging            #1、申请logging模块   logger = logging.getLogger("My_log")  #2、创建一个logging       logging.getLogger(name),name可不要logger.setLverl(logging.INFO)     #3、设置logging的日志显示的级别Filelog = logging.FileHandler(logfilename)  #4、创建一个日志的文件句柄 logfilename 是日志文件的路径Streamlog = logging.StreamHandler()         #4、创建呢一个日志输出的句柄Fmatter = logging.Formatter("%(asctime)s - %(filename)s - %(levelname)-8s: %(message)s",datefmt='%Y-%m-%d %I:%M:%S %p')   #5、设定日志输出到文件的格式
Smatter = logging.Formatter("%(asctime)s %(filename)s %(levelname)s:%(message)s",datefmt='%Y-%m-%d %I:%M:%S')    #5、设定日志输出的格式Filelog.setFormatter(Fmatter)   #6、将日志文件格式加载
Streamlog.setFormattrt(Fmatter)     #6、将输出日志格式加载Filelog.setLevel(logging.INFO)     #7、设置日志文件的级别,将决定输出的消息
Stream.setLevel(logging.INFO)  #7、设置日志输出的级别logger.addHandler(Filelog)  #8、设置文件的输出方向
logger.addHandler(Stream) logger.info("msg")  #9、设置日志的输出内容,还有critical、error、warning、info、debug级别#上面设定的日志输出级别决定了在这里需要定义那种级别的日志logger.removeHandler(Filelog) #10、将句柄销毁
logger.removeHandler(Streamlog)

转载于:https://blog.51cto.com/dearch/1775695

Python--logging....实例应用相关推荐

  1. 关于使用python logging模块的几点总结

    关于使用python logging模块的几点总结 使用python的标准日志模块logging可以非常方便地记录日志.Python日志系统非常丰富.添加结构化或非结构化日志输出到python代码,写 ...

  2. Python LOGGING使用方法

    Python LOGGING使用方法 1. 简介 使用场景 场景 适合使用的方法 在终端输出程序或脚本的使用方法 print 报告一个事件的发生(例如状态的修改) logging.info()或log ...

  3. python logging模块使用

    python logging模块使用 logging模块 日志记录的重要性 在开发过程中,我们可以printf或者Debug来排查问题. 但是在生产环境中(黑盒环境)出现问题,我们并不能知道在运行的环 ...

  4. python经典案例-Python经典实例

    本书是Python经典实例解析,采用基于实例的方法编写,每个实例都会解决具体的问题和难题.主要内容有:数字.字符串和元组,语句与语法,函数定义,列表.集.字典,用户输入和输出等内置数据结构,类和对象, ...

  5. python Logging日志记录模块详解

    写在篇前   logging是Python的一个标准库,其中定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统.Python logging 的配置由四个部分组成:Logger.Handl ...

  6. python logging模块使用教程

    格式化配置: logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s %(filename)s [%(lin ...

  7. Python logging模块切分和轮转日志

    Python logging模块切分和轮转日志 logging 模块可以实现日志的输出和写入文件,但实际工作中,对于日志是使用不仅限于输出那么简单. logging基本使用参考:https://blo ...

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

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

  9. python logging详解及自动添加上下文信息

    之前写过一篇文章日志的艺术(The art of logging),提到了输出日志的时候记录上下文信息的重要性,我认为上下文信息包括: when:log事件发生的时间 where:log事件发生在哪个 ...

  10. python经典实例-python经典实例

    本书是Python经典实例解析,采用基于实例的方法编写,每个实例都会解决具体的问题和难题.主要内容有:数字.字符串和元组,语句与语法,函数定义,列表.集.字典,用户输入和输出等内置数据结构,类和对象, ...

最新文章

  1. AliOS Things 硬件抽象层(HAL)对接系列2 — SPI driver porting
  2. Linux简介之——目录与文件管理
  3. c:forEach 如何输出序号
  4. ESP8266学习笔记6:ESP8266规范wifi连接操作
  5. ATS push cache 测试
  6. 软件工程知识——软件配置管理
  7. Salt-Minion配置文件详解
  8. impala的详细介绍--图文描述
  9. 随机函数(Pascal入门)
  10. 建立时间和保持时间关系详解
  11. excel两个表格数据对比_Excel表格中数据比对和查找的几种技巧
  12. 软件运维监控有哪些?
  13. 各种坐标之间的转换方法汇总
  14. 数据库查询三个以上名字重复的数据
  15. HTML5 Canvas制作数独游戏(四)
  16. 元宇宙产业委员会联席秘书长李正海做元宇宙顶层设计预研项目探讨报告
  17. Android开发——应用宝推广渠道出现MD5值重复,请勿重复上传
  18. 中文乱码
  19. 宜家订单JSON_怎么评价宜家(IKEA)?
  20. 地狱模式的居转户记录05

热门文章

  1. sudo apt-get install 报无法获得锁
  2. 高级Android开发面试汇总
  3. JDk8的新特性-流和内部iteration
  4. 2017.10.9 JVM入门学习
  5. Mac安装mysqldb
  6. SQL2005数据导入错误:0xc00470fe 产品级别对于..
  7. .net操纵xml文件类(c#)
  8. 解决DataGridView在多线程中无法显示滚动条的问题
  9. unity3d shader编程中GrabPass 在某些android手机上失效的解决方案
  10. Eclipse的设置、调优、使用(解决启动卡顿等问题)----转