首页 > 其他分享 >日志模块

日志模块

时间:2023-03-17 16:45:06浏览次数:38  
标签:logging 模块 Format self 处理器 file 日志 logger

import logging
class Logger:
    def __init__(self, stream=None, cmd_lever=logging.WARNING, file_level=logging.DEBUG, logname='mylog'):
        self.stream = stream
        self.cmd_lever = cmd_lever
        self.file_level = file_level
        # 实例化记录器
        self.logger = logging.getLogger(logname)
        self.logger.setLevel(logging.DEBUG)
        # 设置Format的格式
        self.cmd_Format = logging.Formatter('%(message)s')
        self.file_Format = logging.Formatter('%(message)s')

    def cmd_log(self, logname='mylog'):
        # 处理器的格式
        self.cmdHandler = logging.StreamHandler(self.stream)
        # 设置处理器的等级
        self.cmdHandler.setLevel(self.cmd_lever)
        # 处理器绑定 Format 的格式
        self.cmdHandler.setFormatter(self.cmd_Format)
        # 记录器绑定处理器
        self.logger.addHandler(self.cmdHandler)
        # 关闭处理器防止重复
        self.cmdHandler.close()
        # 设置过滤器
        FIL = logging.Filter(logname)
        # 过滤器绑定记录器
        self.logger.addFilter(FIL)

    def file_log(self, path):
        # 处理器的格式
        self.fileHandler = logging.FileHandler(path)
        # 设置处理器的等级
        self.fileHandler.setLevel(self.file_level)
        # 处理器绑定 Format 的格式
        self.fileHandler.setFormatter(self.file_Format)
        # 记录器绑定处理器
        self.logger.addHandler(self.fileHandler)
        # 关闭处理器防止重复
        self.fileHandler.close()


logger = Logger().logger



标签:logging,模块,Format,self,处理器,file,日志,logger
From: https://www.cnblogs.com/duanfu456/p/17227291.html

相关文章

  • docker 运行filebeat收集日志
    1.简介beats首先filebeat是Beats中的一员。Beats在是一个轻量级日志采集器,其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、......
  • 爬虫抓取新闻模块提取库推荐newspaper
    安装pip3installnewspaper3k使用fromnewspaperimportArticleurl='http://www.example.com/path/to/article'article=Article(url)article.download()art......
  • SQLite 学习日志
    SQLite 语法SQLite是遵循一套独特的称为语法的规则和准则。本教程列出了所有基本的SQLite语法,向您提供了一个SQLite快速入门。大小写敏感性有个重要的点值得注意,S......
  • BeautifulSoup模块的使用方法
    本篇文章主要讲bs4模块(BeautifulSoup),这个模块能做么呢?用一句话来概括的话:beautifulsoup4从HTML或XML文件中提取数据的Python库,用它来解析爬取回来的xml。从而从网站中......
  • 利用内置模块sched实现定时任务
    sched模块实现了一个通用事件调度器,在调度器类使用一个延迟函数等待特定的时间,执行任务。同时支持多线程应用程序,在每个任务执行后会立刻调用延时函数,以确保其他线程也能执......
  • ansible group模块
    目录ansiblegroup模块模块用法yml模版ansiblegroup模块模块用法yml模版-name:验证auditors组是否存在group: name:auditors state:present......
  • ansible authorized_key模块
    目录ansibleauthorized_key模块使用模版修改sudoers和禁止root用户登录ansibleauthorized_key模块复制公钥,设置免密登录的作用使用模版-name:setauthorizedkey......
  • arduino 蓝牙模块测试
    今天在chatgpt的高效查询下顺利地测试了arduino的蓝牙功能: 蓝牙模块(JDY-31):原材料ArduinoUNO开发板x1蓝牙模块JDY-31x1子母杜邦线若干马达/LED灯x1(本次用的......
  • MyBatis日志四
    使用useGeneratedKeys和keyProperty属性<insertid="insert"parameterType="com.yogurt.po.Student"useGeneratedKeys="true"keyProperty="id">INSERTINT......
  • MyBatis学习日志五
    缓存一级缓存默认开启,同一个SqlSesion级别共享的缓存,在一个SqlSession的生命周期内,执行2次相同的SQL查询,则第二次SQL查询会直接取缓存的数据,而不走数据库,当然,若第一次和第......