您的位置:首页 > 编程语言 > Python开发

python logging 单例模式范例

2016-01-07 12:56 639 查看
#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")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python logging 单例