本文可以实现实际工作中要求写多个文件,别且依靠文件名作为日志的logger发送到日志服务器去区分
testlog.py
import logging
import threadingclass LOGGER:
def __init__(self):
pass
di={}
__lock = threading.Lock()
@staticmethod
def getinstance(logName):
if not LOGGER.di.has_key(logName):
LOGGER.__lock.acquire()
if not LOGGER.di.has_key(logName):
LOGGER.di[logName]=LOGGER()
LOGGER.di[logName]=logging.getLogger(logName)
handler = logging.FileHandler('ts.log')
formatter = logging.Formatter('%(asctime)s %(name)s %(message)s')
handler.setFormatter(formatter)
LOGGER.di[logName].addHandler(handler)
LOGGER.di[logName].setLevel(logging.INFO)
LOGGER.__lock.release()
return LOGGER.di[logName]
if __name__=='__main__':
while True:
x=LOGGER.getinstance('test1')
x.info('1111111')
y=LOGGER.getinstance('test2')
y.info('22222222222')
time.sleep(1)