zoukankan      html  css  js  c++  java
  • Python通过logging记录日志并应用coloredlogs在控制台输出有色字体

    import logging
    import os
    from logging.handlers import TimedRotatingFileHandler
    import coloredlogs
    
    # 设置颜色 coloredlogs.DEFAULT_FIELD_STYLES = {'asctime': {'color': 'green'}, 'hostname': {'color': 'magenta'}, 'levelname': {'color': 'green', 'bold': True}, 'request_id': {'color': 'yellow'}, 'name': {'color': 'blue'}, 'programname': {'color': 'cyan'}, 'threadName': {'color': 'yellow'}} class Log: __instances = {} @classmethod def getLogger(cls, name=os.path.abspath(__name__)): if name not in cls.__instances:
           # 日志文件夹路径 BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) log_dir = 'logs' if not log_dir.startswith('/'):
             # 日志文件夹 log_dir = os.path.join(BASE_DIR, log_dir)        # 递归生成 if not os.path.isdir(log_dir): os.makedirs(log_dir, mode=0o755) log_file = os.path.join(log_dir, "app.log") logger = logging.getLogger(name)
           # 设置日志格式 fmt = '%(asctime)s [%(levelname)s] [%(name)s] %(filename)s[line:%(lineno)d] [%(threadName)s] %(message)s' formater = logging.Formatter(fmt) ch = logging.StreamHandler() ch.setLevel(Log.__getLogLevel()) ch.setFormatter(formater) logger.addHandler(ch) coloredlogs.install(fmt=fmt, level=Log.__getLogLevel(), logger=logger) fh = TimedRotatingFileHandler(log_file, when='M', interval=1, backupCount=7, encoding='utf-8') fh.setLevel(Log.__getLogLevel()) fh.setFormatter(formater) logger.setLevel(Log.__getLogLevel()) logger.addHandler(fh) cls.__instances[name] = logger return cls.__instances[name] @staticmethod # 设置日志等级 def __getLogLevel(): return logging.INFO if __name__ == '__main__': Log.getLogger().error('log测试数据') Log.getLogger().info('log测试数据') Log.getLogger().warning('log测试数据') Log.getLogger().debug('log测试数据')

      

  • 相关阅读:
    机器学习-正则化方法
    机器学习-回归算法
    机器学习算法一
    机器学习概览
    tensorflow机器学习初接触
    tensorflow决策树初接触
    tensorflow语法
    tensorflow第一个例子简单实用
    Hyperledger Fabric 1.0架构入门
    结合《XXXX需求征集系统》分析可用性和可修改性战术
  • 原文地址:https://www.cnblogs.com/wangtaobiu/p/11987025.html
Copyright © 2011-2022 走看看