zoukankan      html  css  js  c++  java
  • logging 模块

    logging库提供了多个组件:Logger、Handler、Filter、Formatter。

      logger:提供日志接口,供应用代码使用。logger最长用的操作有两类:配置和发送日志消息。可以通过logging.getLogger(name)获取logger对象,如果不指定name则返回root对象,多次使用相同的name调用getLogger方法返回同一个logger对象。

            handler:将日志记录(log record)发送到合适的目的地(destination),比如文件,socket等。一个logger对象可以通过addHandler方法添加0到多个handler,每个handler又可以定义不同日志级别,以实现日志分级过滤显示。

            filter:提供一种优雅的方式决定一个日志记录是否发送到handler。

            formatter:指定日志记录输出的具体格式。formatter的构造方法需要两个参数:消息的格式字符串和日期字符串,这两个参数都是可选的。

         #创建一个logger
            self.logger = logging.getLogger(logger)
            self.logger .setLevel(logging.DEBUG)
    
            #创建一个hander,用于写入日志文件
            fh = logging.FileHandler(log_name)
            fh.setLevel(logging.INFO)
    
            #再创建一个handler,用于输出到控制台
            ch = logging.StreamHandler()
            ch.setLevel(logging.INFO)
    
            #定义handler的输出格式
            formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
            fh.setFormatter(formatter)
            ch.setFormatter(formatter)
    
            #给logger添加handler
            self.logger.addHandler(fh)
            self.logger.addHandler(ch)

     

  • 相关阅读:
    IIFE(立即执行函数表达式)
    函数劫持
    nuxt.js怎么写一个全局的自定义指令
    nuxtjs里面使用vuex
    Nuxt.js端口冲突 Nuxt.js 如何更改端口配置?
    nuxt怎么去新增页面
    nuxt服务端渲染怎么引入element ui
    mac安装vue-cli和nuxt
    正则-怎么把字符串里面的英文去掉
    mac如果将项目部署到github,以及 github部署静态网站
  • 原文地址:https://www.cnblogs.com/lanbing/p/9255595.html
Copyright © 2011-2022 走看看