logging模块

很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误、警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug()info()warning()error() and critical() 5个级别,下面我们看一下怎么用:

---恢复内容结束---

    logging模块

很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误、警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug()info()warning()error() and critical() 5个级别,下面我们看一下怎么用:

%(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 用户输出的消息

想给日志文件加上日期,如下所示:

import logging
    """basicConfig()是设置日期格式的形式,level是日期的等级,datafmt是日期的格式"""
  logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p',level=logging.DEBUG)
  logging.warning('is when this event was logged.')

  logging.basicConfig(format="%(asctime)s %(message)s",datefmt="%m/%d/%Y %I:%M:%S %p",level=logging.DEBUG)
  logging.debug("I love python")

    运行结果如下:

05/30/2017 06:40:33 AM is when this event was logged.
  05/30/2017 06:40:33 AM I love python

    如果想同时把log打印在屏幕和文件日志里,就需要了解一点复杂的知识了

Python 使用logging模块记录日志涉及四个主要类,使用官方文档中的概括最为合适:

(1)logger提供了应用程序可以直接使用的接口

(2)handler将(logger创建的)日志记录发送到合适的目的输出

(3)filter提供了细度设备来决定输出哪条日志记录

(4)formatter决定日志记录的最终输出格式

最新文章

  1. cookie httponly属性
  2. 71-IO 流
  3. Java中二维数组与面向对象
  4. Android之jni深入
  5. Redis 连接
  6. [FOJ 1752] A^B mod C
  7. Java关键字之this
  8. Windows 下 exe 服务注册到 service 服务中
  9. [WDS] Warnings while compiling. vue 项目运行控制台输出太多警告信息
  10. 图像旋转、伸缩的自写matlab实现
  11. 常用vi命令
  12. Centos7安装官方JDK
  13. Hadoop RPC源码分析
  14. MIT molecular Biology 笔记10 翻译
  15. HttpPostedFile类
  16. shell 一次移动很多个命名相似的文件
  17. 20145209 2016-2017-2 《Java程序设计》第7周学习总结
  18. php-fpm 信号
  19. Python 小练习二 数据库MySQL、Redis
  20. stdafx.h、stdafx.cpp的作用

热门文章

  1. P2426 删数
  2. python---Django中模型类中Meta元对象了解
  3. c# lock的误解
  4. 关于File 文件操作
  5. 用代码从文件中导入数据到SQL Server
  6. Dynamic Rankings(动态第k大+树套树)
  7. 2017 ACM暑期多校联合训练 - Team 9 1008 HDU 6168 Numbers (模拟)
  8. http方式传递参数值转义或乱码的处理(base64)
  9. 【译】第八篇 Replication:合并复制-How it works
  10. Dream------scala--类的属性和对象私有字段实战详解