zoukankan      html  css  js  c++  java
  • log

    参考文献:http://wjdadi-gmail-com.iteye.com/blog/1984354

    logging.basicConfig函数各参数:

    filename: 指定日志文件名

    filemode: 和file函数意义相同,指定日志文件的打开模式,'w'或'a'

    format: 指定输出的格式和内容,format可以输出很多有用信息,如上例所示:  %(levelno)s: 打印日志级别的数值  %(levelname)s: 打印日志级别名称  %(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]  %(filename)s: 打印当前执行程序名  %(funcName)s: 打印日志的当前函数  %(lineno)d: 打印日志的当前行号  %(asctime)s: 打印日志的时间  %(thread)d: 打印线程ID  %(threadName)s: 打印线程名称  %(process)d: 打印进程ID  %(message)s: 打印日志信息

    datefmt: 指定时间格式,同time.strftime()

    level: 设置日志级别,默认为logging.WARNING

    stream: 指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略

    日志配置,通过logging.config包进行相关处理。

       1 文件配置方式

     

        python可以通过配置文件来定义日志,配置文件的格式通过logging.config.fileConfig(此函数基于ConfigParser)来解析,[loggers] , [handlers] 和 [formatters] ,用来标识文件定义的几种类型的实体。这价格标识必须包含在配置文件中。

     

         [loggers]标识: 关键字keys后通过=号指定对应logger实体的名称,而对具体的logger实体配置就在[logger_logger实体名],如keys=root则对应详细配置在[logger_root]中。

     

                                 详细配置如[logger_root] 中必须包含level和handlers,level值包含一中介绍的所以level信息;handlers包含一个或多个在[handlers]定义的值,多值用“,”分开。

     

                                 还可能包括propagate和qualname,propagete项如果为1,则表示该logger必须处理它继承的父类logger的信息,如果为0则不必; qualname项表示logger的分层结构的上下文名称,应用程序中就是用这个名字结合logger实体名称来获得logger的全路径。

     

         [handlers]标识: 与[loggers]类似,如keys=hand01则具体配置在[handler_hand01]。

     

                                 详细配置如[handler_hand01]中包含class,level,formatter和args等关键字。

     

                                 class值表示handlers的具体类;level是handler的日志级别;formatter表示用于此handler的格式,此处如果不为空必须在[formatters]总定义,如果为空则用默认的formatter(logging._defaultFormatter);args表示handler实例化时传给handler构造函数的参数,多个参数用“()”扩起来。

     

         [formatters]标识: 同上,keys=format01则[formatter_format01]。

     

                                 详细配置如[formatter_format01]中包含format,datefmt和class。

     

                                 class可选,它指出了 formatter 的类名(模块名和类名通过点来分隔);format定义格式字符串,方式如四中介绍;datefmt项可以接受跟strftime()函数兼容的时间/日期格式字符串。如果为空,则默认用ISO8601格式的日期/时间格式,其格式也定义了微秒,可以用一个逗号隔开添加到上面的格式字符串之后,ISO8601格式的一个示例是 2003-01-23 00:29:50,411。

    =================

     

    属性名称
        格式  
                                           说明  
    name
    %(name)s
    日志的名称
    asctime
    %(asctime)s
    可读时间,默认格式‘2003-07-08 16:49:45,896’,逗号之后是毫秒
    filename
    %(filename)s
    文件名,pathname的一部分
    pathname
    %(pathname)s
    文件的全路径名称
    funcName
    %(funcName)s
    调用日志多对应的方法名
    levelname
    %(levelname)s
    日志的等级
    levelno
    %(levelno)s
    数字化的日志等级
    lineno
    %(lineno)d
    被记录日志在源码中的行数
    module
    %(module)s
    模块名
    msecs %(msecs)d 时间中的毫秒部分
    process
    %(process)d
    进程的ID
    processName
    %(processName)s
    进程的名称
    thread
    %(thread)d
    线程的ID
    threadName
    %(threadName)s
    线程的名称
    relativeCreated
    %(relativeCreated)d
    日志被创建的相对时间,以毫秒为单位

     

     

  • 相关阅读:
    ASP.NET MVC —— Model之一模型模板
    【转】METADATATYPE的使用,MVC的MODEL层数据验证
    bootstrap 全局 CSS 样式
    jQuery EasyUI API 中文文档
    基础知识--:before伪元素和:after伪元素
    960CSS框架,之前有用过 了解下框架基本原理
    CSS框架960Grid从入门到精通一步登天
    web网页的表单排版利器--960css
    文本编辑器Nano实用快捷键
    yum服务器设置
  • 原文地址:https://www.cnblogs.com/testzcy/p/7300390.html
Copyright © 2011-2022 走看看