Почему мой журнал был напечатан два раза
У меня есть три файла Python
Когда я звоню test2:
мой журнал был напечатан два раза
2018-06-29 20:41:36,466 - test - INFO - 2222222222222222222
2018-06-29 20:41:36,466 - test - INFO - 2222222222222222222
Я не вызывал метод AAA my_print.
handle_log.py
#-*-coding:utf-8-*-
import logging
import logging.handlers
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
# #error日志发送邮件
#
class Logger(object):
def __init__(self, path='test',title=None):
# 得到一个日志对象
self.logger = logging.getLogger(path)
# 修改默认级别
self.logger.setLevel(logging.INFO)
#将日志发送至邮件
self.mail_log = logging.handlers.SMTPHandler(('mail.test.com',123),'u2_dev_send@test.com','test@test.com',title,credentials=('test@test.com','test'),secure=None)
self.mail_log.setLevel(logging.ERROR)
# 记录日志的文件和级别
self.write_log = logging.FileHandler("all.log")
self.write_log.setLevel(logging.INFO)
# 打印日志的到窗口上
self.print_log = logging.StreamHandler()
self.print_log.setLevel(logging.INFO)
# 设置日志格式
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
self.write_log.setFormatter(formatter)
self.print_log.setFormatter(formatter)
self.mail_log.setFormatter(formatter)
# 将相应的发送目的地添加到logger对象中
self.logger.addHandler(self.write_log)
self.logger.addHandler(self.print_log)
self.logger.addHandler(self.mail_log)
# def __del__(self):
# self.logger.removeHandler(self.write_log)
# self.logger.removeHandler(self.print_log)
# self.logger.removeHandler(self.mail_log)
def debug(self, message):
self.logger.debug(message)
# self.logger.removeHandler(self.print_log)
# self.logger.removeHandler(self.mail_log)
# self.logger.removeHandler(self.write_log)
def info(self, message):
self.logger.info(message)
# self.logger.removeHandler(self.print_log)
# self.logger.removeHandler(self.mail_log)
# self.logger.removeHandler(self.write_log)
def war(self, message):
self.logger.warning(message)
# self.logger.removeHandler(self.print_log)
# self.logger.removeHandler(self.mail_log)
# self.logger.removeHandler(self.write_log)
def error(self, message):
self.logger.error(message)
# self.logger.removeHandler(self.print_log)
# self.logger.removeHandler(self.mail_log)
# self.logger.removeHandler(self.write_log)
def cri(self, message):
self.logger.critical(message)
# self.logger.removeHandler(self.print_log)
# self.logger.removeHandler(self.mail_log)
# self.logger.removeHandler(self.write_log)
test1.py
#-*-coding:utf-8-*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
# sys.path.append('/data1/test/app_sem')
sys.path.append('/root/request2_python/')
from sem.handle_log import Logger
class AAAA(object):
def __init__(self):
self.log = Logger(title='bbbbbbbbbbb')
def my_print(self):
self.log.info('1111111111111111111111')
# a = AAAA()
# a.my_print()
test2.py
#-*-coding:utf-8-*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
# sys.path.append('/data1/test/app_sem')
sys.path.append('/root/request2_python/')
from sem.handle_log import Logger
from sem.vivo.test1 import AAAA
class BBBB(object):
def __init__(self):
self.log_test2 = Logger(title='cccccccc')
def my_print_b(self):
self.log_test2.info('2222222222222222222')
b = BBBB()
a = AAAA()
# a.my_print()
b.my_print_b()
# b.my_print_b()
результат:
2018-06-29 20:41:36,466 - test - INFO - 2222222222222222222
2018-06-29 20:41:36,466 - test - INFO - 2222222222222222222
Почему одна и та же строка журнала печатается дважды?