Logger.setLevel(level)

设置记录器的级别为level。低于该级别的信息将被忽略。

记录器默认级别为NOTSET。如果记录器是根记录器,则默认将记录所有信息;

如果是一个非根记录器,默认会沿着一个“链”向上寻找,直到找到一个级别为非NOTSET为止,并把该记录器级别作为自己的级别;

如果到达根记录器还没找到级别为非NOTSET的记录器,则所有信息被记录。

注意使用WARNING级别创建根记录器。

logging.getLogger(name=None)

生成一个指定名称的记录器。名称为“.”分隔的形式,如'a','a.b'或'a.b.c.d'。

如果名称为None,则生成一个根记录器。

class logging.StreamHandler(stream=None)

StreamHandler类将记录输出发送到诸如sys.stdout,sys.stderr或任何类似文件的对象(或更准确地说,任何支持write()和flush()方法的对象) 。

返回StreamHandler类的新实例。如果指定了流,则实例将使用它来记录输出;否则,将使用sys.stderr。

class logging.Formatter(fmt=None,datefmt=None,style='%')

返回Formatter类的新实例。

fmt为消息字符串,datefmt为日期/时间字符串。

如果没有指定fmt,则使用'%(message)'。如果没有指定datefmt,则使用ISO8601日期格式。

style参数可以是'%','{'或'$'之一,用于确定格式字符串如何与其数据合并。

常用的fmt和datefmt如下:

frm = '%(levelname)-.3s [%(asctime)s.%(msecs)03d] thr=%(_threadid)-3d %(name)s: %(message)s'
'%Y%m%d-%H:%M:%S'

注:上表是格式化样式。

Handler.setFormatter(表格)

设置格式。

Logger.addHandler(hdlr)

将指定的处理程序hdlr添加到此记录器。

一个完整的例子

    l = logging.getLogger("paramiko")
if len(l.handlers) > 0: #handlers为处理程序的集合,列表类型
return
l.setLevel(level)
f = open(filename, 'a') #a表示以追加模式打开
lh = logging.StreamHandler(f)
frm = '%(levelname)-.3s [%(asctime)s.%(msecs)03d] thr=%(_threadid)-3d %(name)s: %(message)s' # noqa
lh.setFormatter(logging.Formatter(frm, '%Y%m%d-%H:%M:%S'))
l.addHandler(lh)

python学习之logging模块的更多相关文章

  1. python学习之-- logging模块

    logging模块功能:提供了标准的日志接口,可以通过它存储各种格式的日志.日志5个级别分:debug(),info(),warning(),error(),critical() logging.ba ...

  2. python 学习笔记 -logging模块(日志)

    模块级函数 logging.getLogger([name]):返回一个logger对象,如果没有指定名字将返回root loggerlogging.debug().logging.info().lo ...

  3. python学习-57 logging模块

    logging 1.basicConfig方式 import logging # 以下是日志的级别 logging.debug('debug message') logging.info('info ...

  4. Python自建logging模块

    本章将介绍Python内建模块:日志模块,更多内容请从参考:Python学习指南 简单使用 最开始,我们用最短的代码体验一下logging的基本功能. import logging logger = ...

  5. Python中的logging模块就这么用

    Python中的logging模块就这么用 1.日志日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICALDEBUG:详细的信息,通常只出现在诊断问题 ...

  6. python中日志logging模块的性能及多进程详解

    python中日志logging模块的性能及多进程详解 使用Python来写后台任务时,时常需要使用输出日志来记录程序运行的状态,并在发生错误时将错误的详细信息保存下来,以别调试和分析.Python的 ...

  7. Python日志输出——logging模块

    Python日志输出——logging模块 标签: loggingpythonimportmodulelog4j 2012-03-06 00:18 31605人阅读 评论(8) 收藏 举报 分类: P ...

  8. Python学习 Part4:模块

    Python学习 Part4:模块 1. 模块是将定义保存在一个文件中的方法,然后在脚本中或解释器的交互实例中使用.模块中的定义可以被导入到其他模块或者main模块. 模块就是一个包含Python定义 ...

  9. python学习之argparse模块

    python学习之argparse模块 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行 ...

随机推荐

  1. activiti源码笔记对标的博客

    http://blog.csdn.net/bluejoe2000/article/category/2812511/2 白乔专栏 http://blog.csdn.net/bluejoe2000/ar ...

  2. .net 4.5如何使用Async和Await进行异步编程

    通过使用异步编程,可避免出现性能瓶颈,并提高应用程序的整体响应.然而,技术编写异步应用程序的传统方法过于复杂,这使得异步程序难以编写,调试和维护. Visual Studio2012引入了一个简单的开 ...

  3. 将具有特殊class名img标签替换成[img][/img]标签--javascript正则表达式实践

    在项目中,可能有时候需要将一些特殊的东西加一个特别的属性,或者一个特殊的Class.如下: <!-- 第一种写法 --> <img src="abc.jpg" f ...

  4. PL/SQL如何远程连接ORACLE

    如何在没有装ORACLE的电脑上用PLSQL远程连接ORACLE 下载instantclient,我的是WIN7,下载的是instantclient-basiclite-nt-12.1.0.1.0.z ...

  5. 一步一步学Spring.NET——1、Spring.NET环境准备

    Spring.NET 1.3.2下载地址:http://down.51cto.com/data/861700 下载后解压 Spring.NET-1.3.2.7z:这个里面有我们须要用到的全部东西. S ...

  6. 解决RegexKitLite编译报错

    原地址:http://blog.csdn.net/kepoon/article/details/7586861 在编译RegexKitLite的时候,报错如下: Undefined symbols f ...

  7. php遍历文件夹代码实现

    <?php //遍历文件夹 function my_scandir($dir){ $files = array(); if (is_dir($dir)){ if($handle = opendi ...

  8. vue 仿ele 开发流程

    技术栈: vue2 vuex vue-router axios webpack eslint better-scroll 1.安装插件 npm install vue-resource babel-r ...

  9. nginx 反向代理做域名转发简单配置

    这里用的是nginx for windows 首先进入nginx配置文件,做以下配置: server { listen 80; server_name abc.com; location / { pr ...

  10. DDL语句--改动表

    改动表是指改动数据库中已经存在的表的定义.改动表比又一次定义表简单.不须要又一次载入数据.也不会影响正在进行的服务. MySQL中通过ALTER TABLE语句来改动表.改动表包含改动表名.改动字段数 ...