zoukankan      html  css  js  c++  java
  • day6 subprocess模块、logging模块

        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决定日志记录的最终输出格式

  • 相关阅读:
    java,jsp+mysql5.6搭建环境
    数据结构:栈的顺序存储结构
    开源 免费 java CMS FreeCMS1.2标签 config
    在Ubuntu中安装HP LaserJet 1020驱动
    iPad及BT4下的WEP破解实验与分析 | Network Security
    WEP&WPA Cracking on BT5/MAC [转]
    关于显示屏分辨率的问题
    Laravel5.1 路由 路由分组
    版本号/缓存刷新 laravel mix函数
    Laravel 中config的用法
  • 原文地址:https://www.cnblogs.com/gengcx/p/6919281.html
Copyright © 2011-2022 走看看