单例模式:

不管实例化对象多少次,都只返回第一次实例化的对象空间。

 

单例的目的是:

为了节省开辟对象空间及销毁对象空间的时间。

 

单例日志的写法:

import logging

log_path
= r'D:\log\t.txt'
# 单例模式 class Log(object):
__flag = None
def __new__(cls, *args, **kwargs): if not cls.__flag: cls.__flag = super().__new__(cls) return cls.__flag def __init__(self): if 'logger' not in self.__dict__: logger = logging.getLogger() logger.setLevel(level=logging.DEBUG) filehandle = logging.FileHandler(log_path,encoding='utf-8') streamhandle = logging.StreamHandler() logger.addHandler(filehandle) logger.addHandler(streamhandle) format = logging.Formatter('%(asctime)s:%(levelname)s:%(lineno)s %(message)s') filehandle.setFormatter(format) streamhandle.setFormatter(format)
self.logger
= logger def return_logger(self): return self.logger def get_logger(): return Log().return_logger() if __name__ == '__main__': logger = get_logger() logger.debug('zezhou')

 注:文件不需要单独去判断创建文件,没有会自动创建

 

相关文章:

  • 2021-12-13
  • 2021-11-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-24
  • 2021-07-17
  • 2021-06-15
  • 2022-02-16
  • 2021-10-19
  • 2021-09-14
相关资源
相似解决方案