파이썬 로깅 모듈을 사용하고 있습니다. 나는 다음과 같은 데이터 파이썬 로깅 모듈 로깅 문제
def initialize_logger(output_dir):
'''
This initialise the logger
:param output_dir:
:return:
'''
root = logging.getLogger()
root.setLevel(logging.INFO)
format = '%(asctime)s - %(levelname)-8s - %(message)s'
date_format = '%Y-%m-%d %H:%M:%S'
if 'colorlog' in sys.modules and os.isatty(2):
cformat = '%(log_color)s' + format
f = colorlog.ColoredFormatter(cformat, date_format,
log_colors={'DEBUG': 'green', 'INFO': 'green',
'WARNING': 'bold_yellow', 'ERROR': 'bold_red',
'CRITICAL': 'bold_red'})
else:
f = logging.Formatter(format, date_format)
#ch = logging.FileHandler(output_dir, "w")
ch = logging.StreamHandler()
ch.setFormatter(f)
root.addHandler(ch)
하나의 StreamHandler가로
을 가진 파일을 초기화하는,하지만 나는INFO:root:clearmessage:%ss1=00
2017-12-21 17:07:20 - INFO - clearmessage:%ss1=00
INFO:root:clearmessage:%ss2=00
2017-12-21 17:07:20 - INFO - clearmessage:%ss2=00
모든 메시지가 Root
및 Info
로 인쇄 될 때 내 콘솔에서 두 개의 지문을 얻고있다. 어떤 아이디어? 왜 내가 두 권의 지문을 얻는거야? 위의 코드에서는 색상 코드를 무시할 수 있습니다.
initialize_logger()를 두 번 호출 할 수도 있습니다. – Humbalan
두 메시지는 diff 메시지 형식으로 인쇄됩니다. addHandler (logging.NullHandler())와 같은 또 다른 구문을 호출하려고합니다. 문제가 발생합니다. – Nitesh