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!!!!")
  • 相关阅读:
    小程序的目录结构及基本代码编写流程
    vue+hbuilder监听安卓返回键问题
    VUE项目用hbuilder 打包为手机APP
    VUE组件相关总结!
    VUE常用指令总结!
    vue开发者工具vue-devtools-4.1.4_0.crx谷歌插件下载及安装
    vue-cli环境搭建初探!
    PHP返回Json数据函数封装
    WeX5入门之HelloWorld
    WeX5入门之欢乐捕鱼打包
  • 原文地址:https://www.cnblogs.com/mlmy/p/6295132.html
Copyright © 2011-2022 走看看