python logging 单例模式范例
时间:2016-01-07 18:39:21
收藏:0
阅读:406
#logger.py
#author: Zilu.Tang
#date: 20160107
import logging
import os
class SingleLogger(object):
__instance = None
def __init__(self):
pass
def __new__(cls, *args, **kwd):
if SingleLogger.__instance is None:
SingleLogger.__instance = object.__new__(cls, *args, **kwd)
SingleLogger.__instance.__logger = logging.getLogger("logger1")
SingleLogger.__instance.__logger.setLevel(logging.DEBUG)
formatter = logging.Formatter(‘%(name)-12s %(asctime)s %(levelname)-8s %(message)s‘, ‘%a, %d %b %Y %H:%M:%S‘,)
file_handler = logging.FileHandler(r"test.log")
file_handler.setLevel(logging.INFO)
stream_handler = logging.StreamHandler()
file_handler.setFormatter(formatter)
SingleLogger.__instance.__logger.addHandler(file_handler)
SingleLogger.__instance.__logger.addHandler(stream_handler)
SingleLogger.__instance.__logger.info("log info: " + os.getcwd())
return SingleLogger.__instance
def info(self, message):
SingleLogger.__instance.__logger.info(message)Usage:
from logger import SingleLogger
class Usage():
def __init__(self):
self.__logger = SingleLogger()
def test(self):
self.__logger.info("Test logger")本文出自 “全栈博客” 博客,请务必保留此出处http://reboot001.blog.51cto.com/10869138/1732450
原文:http://reboot001.blog.51cto.com/10869138/1732450
评论(0)