python基础知识~logger模块

一 配置文件模块
   import logging ->导入模块
    logger = logging.getLogger('mylogger') ->初始化类
二 创建句柄
1 文件句柄
   fh = logging.FileHandler('test.log') ->根据文件创建句柄
   fh.setLevel(logging.DEBUG) ->设置日志级别
   formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')->定义日志格式

                                                    时间                  用户             日志级别              日志具体信息
   fh.setFormatter(formatter)->装填格式
   logger.addHandler(fh)->装填文件句柄
   logger.info('foorbar') -> 最终调用

三 封装成类
  1 可自定义的元素
     1 句柄类型 有(FilHandler,StreamHandler等多种类型)
        1 StreamHandler: 输出到控制台
        2 FileHandler: 输出到文件
        3 BaseRotatingHandler 可以按时间写入到不同的日志中。比如将日志按天写入不同的日期结尾的文件文件。
        4 SocketHandler 用TCP网络连接写LOG
        5 DatagramHandler 用UDP网络连接写LOG
        6 SMTPHandler 把LOG写成EMAIL邮寄出去
  2 调整日志等级 有(debug,info,error)等
      logger.debug("foobar")
      logger.info("foobar")
     logger.warning("foobar")
     logger.error("foobar")
    logger.critical("foobar")
四 样式例子

import logging
class Logger():
   def __init__(self, logname, logger):
    self.logger = logging.getLogger(logger)
    self.logger.setLevel(logging.DEBUG)
    fh = logging.FileHandler(logname)//定义文件句柄
    fh.setLevel(logging.DEBUG)//定义默认的级别
    ch = logging.StreamHandler()//定义流式句柄
    ch.setLevel(logging.DEBUG)
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')//定义输出格式    
   fh.setFormatter(formatter)//句柄加载日志格式
   ch.setFormatter(formatter)
   self.logger.addHandler(fh)//加载句柄
   self.logger.addHandler(ch)
   def get_log(self):
      return self.logger //返回调用

aa=Logger('a.txt','aaa).get_log()

aa.info("we')

  分析 1 类初始化函数包含两类  日志文件名和日志输出中间项(自定义输出)

          2 输出流程 

              定义四类   1 类对象  2 类型句柄 3 日志默认级别 3 时间格式             

             绑定两次   1 类型句柄绑定时间格式  2 对象装载句柄

             一 返回      返回最终的logger对象用作使用

              

转载于:https://www.cnblogs.com/danhuangpai/p/9664310.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值