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. C语言嵌入式系统编程修炼

    C语言嵌入式系统编程修炼 2008-08-19 作者:宋宝华 来源:天极网 C语言嵌入式系统编程修炼之背景篇 本文的讨论主要围绕以通用处理器为中心的协议处理模块进行,因为它更多地牵涉到具体的C语言编程 ...

  2. android sdk下载SDK Platform失败记录

    在使用android sdk manager下载的时候会遇到 下载完毕后,你可能会出现如下图一样的错误,就算重复尝试多次依然无法正常安装 Downloading SDK Platform Androi ...

  3. linux实操常用命令总结

    1. linux目录操作命令 ------目录的增.删.改.查------ cd, pwd, ls, mkdir, mv, ls(du, df, tree) 切换目录,跟window的使用类似 cd ...

  4. 深度增强学习--DQN的变形

    DQN的变形 double DQN prioritised replay dueling DQN

  5. nodejs之路-[0]安装及简易配置

    题外话: 之前写过ubuntu下编译nodejs- 传送门:Ubuntu15.04编译安装nodejsV0.12.3 只是如今基本在win下做开发了-. 就以这篇帖子为开头,作为我踏上nodejs之路 ...

  6. Strategy Pattern(策略模式)

    Head First定义: 策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 策略模式的设计原则主要有三个: 找出应用中可能需要变化的部分,把它们独 ...

  7. 程序的入口及AppDelegate窗体显示原理

    AppDelegate.m - (void)dealloc { [_window release]; [super dealloc]; } - (BOOL)application:(UIApplica ...

  8. PHP实现程序单例执行

    原创文章,转载请注明出处:http://huyanping.sinaapp.com/?p=222 作者:Jenner 一.场景描写叙述: 近期我们一块业务.须要不断的监听一个文件夹的变化.假设文件夹中 ...

  9. PHP多文件上传代码练习

    HTML表单: <html> <head><title>upload file</title> <meta http-equiv="Co ...

  10. 算法笔记_050:硬币收集问题(Java)

    目录 1 问题描述 2 解决方案 2.1 动态规划法   1 问题描述 在n*m格木板中放有一些硬币,每格的硬币数目最多为一个,在木板左上方的一个机器人需要收集尽可能多的硬币并把它们带到右下方的单元格 ...