一、logging模块的简单应用

 import logging

 logging.debug('debug message')
logging.info('ingo message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')

输出为:

WARNING:root:warning message
ERROR:root:error message
CRITICAL:root:critical message

可见,默认情况下,python的logging模块将日志打印到了标准输出中,且只显示了大于等于warning级别的日志,这说明默认的日志级别设置为warning(日志界别等级critical > error > warning > info > debug > notset ),默认的日志格式为日志级别:logger名称:用户输出消息。

二、灵活配置日志级别,日志格式,输出位置

 import logging
logging.basicConfig(
level = logging.DEBUG, #修改了级别,从原来的默认warning,改成了debug
filename="logger.log",#不在外面显示,只在内部显示
filemode='w',
# format="%(asctime)s %(filename)s[line:%(lineno)d] %(message)s",
) logging.debug('debug message')
logging.info('ingo message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')

输出

DEBUG:root:debug message
INFO:root:ingo message
WARNING:root:warning message
ERROR:root:error message
CRITICAL:root:critical message
可见在logging.basicconfig()函数中,可通过具体参数来更改logging模块默认行为,可用参数有filename:用指定的文件名创建filed handler,这样日志会被存在指定的文件中。 filemode:文件安打开方式,在指定了filename时使用这个参数,默认值为”a"还可以指定为"w".
format:指定handler使用的日志显示格式 datefmt:指定日期格式。
level:设置rootlogger的人日志级别。
stream:用指定的stream创建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 字符串形式的当前时间,默认格式时“2003-02-03 12:34:10,234”。逗号后面的时毫秒
%(thread)d 县城ID,可能没有
%(process)d 进程ID,可能没有
%(threadName)s 线程名,可能没有
%(message)s 用户输出的消息

【待续】

python模块--logging的更多相关文章

  1. python模块 ---logging模块

    摘要by crazyhacking: 与log4cxx一样,分为三个部分,logger, handler,formatter. 详细内容参考:1官网http://docs.python.org/2/h ...

  2. Python模块——logging模块

    logging模块简介 logging模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统.logging模块是Python的一个标准库模块, 由标准库模块提供日志记录API的关键好处是 ...

  3. Python模块logging

    基本用法: import logging import sys # 获取logger实例,如果参数为空则返回root logger logger = logging.getLogger("A ...

  4. python模块-logging的智商上限

    logging,故名肆意就是正在进行日志,我艹,这个文化底蕴! logging是python内置的日志模块,便于日常程序的日志写入和输出 logging共分为5个日志等级,分别是: debug , i ...

  5. Python模块-logging模块(一)

    logging模块用来写日志文件 有5个级别,debug(),info(),warning(),error()和critical(),级别最高的为critical() debug()为调试模式,inf ...

  6. [Python 模块] logging模块、Logger类

    logging模块: 标准库里面的logging模块,在前面学习线程安全时曾用来解决print被打断的问题,这里会介绍logging模块的功能. logging模块是线程安全的,不需要客户做任何特殊的 ...

  7. Python模块-logging模块(二)

    logging模块记录日志有四个主要类:logger,handler,formatter,filter logger提供了应用程序可以直接使用的接口,每个程序在输出信息之前都要获得一个Logger h ...

  8. python 模块之-logging

    python  模块logging import logging ###  简单使用格式    日志级别等级CRITICAL > ERROR > WARNING > INFO > ...

  9. python的logging日志模块(二)

    晚上比较懒,直接搬砖了. 1.简单的将日志打印到屏幕   import logging logging.debug('This is debug message') logging.info('Thi ...

随机推荐

  1. MVVM中轻松实现Command绑定任意事件的Command

    下面是“银光中国”(不错的WPF或SL网站)WPF学习教程中的一个连接, http://www.silverlightchina.net/html/study/WPF/2011/0715/9034.h ...

  2. 虚拟机VMware搭建代码环境

    安装git yum install git -y 安装nvm curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/ins ...

  3. linux下鼠标穿透和取消穿透--linux小白,大神无视

    最近在用qt写一个跨平台的软件,因为设置了无边框,并且我自己给程序窗口加了阴影,阴影范围又比较大 所以必须给阴影区域加上鼠标穿透才能有更好的体验. 上网查了一下,在windows下使用SetWindo ...

  4. Using Oracle Database In-Memory with Oracle E-Business Suite

    Database In-Memory is one of a number of options that can be deployed to address Oracle E-Business S ...

  5. TCP的time_wait、close_wait状态

    转载:http://huoding.com/2013/12/31/316  http://blog.csdn.net/lxnkobe/article/details/7525317  http://k ...

  6. 面向对象:三大特性、类成员、property

    一.类的基础知识 python 一切皆为对象. 我们以前的str,list,int 都是对象. 1.1 类的定义 与 调用 class 关键字用来定义类,注意类名首字母大写. 类的调用,先实例化一个类 ...

  7. LeetCode OJ:Candy(糖果问题)

    There are N children standing in a line. Each child is assigned a rating value. You are giving candi ...

  8. ubuntu下编译neovim

    # 安装编译依赖 sudo apt-get install libtool libtool-bin autoconf automake cmake g++ pkg-config unzip -y # ...

  9. Flask_script扩展调用的方式

    Flask中flask-script扩展的使用 通过使用Flask-Script扩展,我们可以在Flask服务器启动的时候,通过命令行的方式传入参数.而不仅仅通过app.run()方法中传参 Flas ...

  10. 剑指offer--42.孩子们的游戏(圆圈中最后剩下的数)

    约瑟夫环,用链表,队列,总之模拟过程 ----------------------------------------------------------------- 时间限制:1秒 空间限制:32 ...