zoukankan      html  css  js  c++  java
  • python 的日志相关应用

    python日志主要用logging模块;

    示例代码如下:

    #coding:utf-8
    import  logging
    
    
    class logger():
        '''
        %(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s
        '''
        format_dict = {
           1 : logging.Formatter('%(asctime)s - %(filename)s-[line:%(lineno)d]-%(name)s - %(levelname)s - %(message)s'),
           2 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
           3 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
           4 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'),
           5 : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        }
    
    
        def __init__(self, logname, loglevel, logger):
            '''
               指定保存日志的文件路径,日志级别,以及调用文件
               将日志存入到指定的文件中
            '''
    
            # 创建一个logger
            self.logger = logging.getLogger(logger)
            self.logger.setLevel(logging.DEBUG)
    
            # 创建一个handler,用于写入日志文件
            fh = logging.FileHandler(logname)
            fh.setLevel(logging.DEBUG)
    
            # 再创建一个handler,用于输出到控制台
            ch = logging.StreamHandler()
            ch.setLevel(logging.DEBUG)
    
            # 定义handler的输出格式
            #formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
            formatter =self.format_dict[int(loglevel)]
            fh.setFormatter(formatter)
            ch.setFormatter(formatter)
    
            # 给logger添加handler
            self.logger.addHandler(fh)
            self.logger.addHandler(ch)
    
        def __init__(self,loglevel, logger):
            '''
               指定保存日志的文件路径,日志级别,以及调用文件
               将日志存入到指定的文件中
            '''
    
            # 创建一个logger
            self.logger = logging.getLogger(logger)
            self.logger.setLevel(logging.DEBUG)
    
            # 再创建一个handler,用于输出到控制台
            ch = logging.StreamHandler()
            ch.setLevel(logging.DEBUG)
    
            # 定义handler的输出格式
            #formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
            formatter =self.format_dict[int(loglevel)]
            ch.setFormatter(formatter)
    
            # 给logger添加handler
            self.logger.addHandler(ch)
    
    
        def getlog(self):
            return self.logger
    
    
    if __name__ == '__main__':
        logger = logger(loglevel=2, logger="log").getlog()
        logger.info("we are the world!!!!")
  • 相关阅读:
    python BeautifulSoup库的基本使用
    python操作RabbitMQ
    MySQL主从复制
    python字典与集合操作
    常见术语
    Mac下如何使用homebrew
    springboot整合freemarker
    Servlet与JSP概念理解
    slf4j-api、slf4j-log4j12以及log4j之间什么关系?
    使用nodeJs安装Vue-cli并用它快速构建Vue项目
  • 原文地址:https://www.cnblogs.com/mlmy/p/6295132.html
Copyright © 2011-2022 走看看