• 日志体系——loging


    import logging
    class log:
    def __init__(self):
    # 文件的命名
         self.logname=os.path.join(os.path.abspath(os.path.dirname(__file__)),'log.txt')
    self.logger = logging.getLogger()
            self.logger.setLevel(logging.DEBUG)
    # 日志输出格式
    self.formatter = logging.Formatter('[%(asctime)s] - %(filename)s] - %(levelname)s: %(message)s')
    def __console(self, level, message):
    # 创建一个FileHandler,用于写到本地
    #fh = logging.FileHandler(self.logname, 'a') # 追加模式
    fh = logging.FileHandler(self.logname, 'a', encoding='utf-8') # 这个是python3的
    fh.setLevel(logging.DEBUG)
    fh.setFormatter(self.formatter)
    self.logger.addHandler(fh)
    # 创建一个StreamHandler,用于输出到控制台
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)
    ch.setFormatter(self.formatter)
    self.logger.addHandler(ch)
    if level == 'info':
    self.logger.info(message)
    elif level == 'debug':
    self.logger.debug(message)
    elif level == 'warning':
    self.logger.warning(message)
    elif level == 'error':
    self.logger.error(message)
    # 这两行代码是为了避免日志输出重复问题
    self.logger.removeHandler(ch)
    self.logger.removeHandler(fh)
    # 关闭打开的文件
    fh.close()
    def debug(self, message):
    self.__console('debug', message)
    def info(self, message):
    self.__console('info', message)
    def warning(self, message):
    self.__console('warning', message)
    def error(self, message):
    self.__console('error', message)
  • 相关阅读:
    log4j中Spring控制台输出Debug级信息过多解决方法
    spring使用aop
    过滤器(filter)实现用户登录拦截
    Eclipse将项目部署tomcat的webapps目录
    css初始化样例代码
    dede表单修改默认必填
    DedeCMS提交自定义表单加入验证码功能
    jQuery入门第三天
    jQuery入门第二天
    jQuery入门第一天
  • 原文地址:https://www.cnblogs.com/langhuagungun/p/9028538.html
Copyright © 2020-2023  润新知