콘솔과 파일에 예외를 기록하는 서버를 작성하려고합니다. 나는 요리 책에서 몇 가지 코드를 뽑았다. 여기에 있습니다 :파이썬 로깅 모듈이 파일에 아무 것도 쓰지 않습니다.
logger = logging.getLogger('server_logger')
logger.setLevel(logging.DEBUG)
# create file handler which logs even debug messages
fh = logging.FileHandler('server.log')
fh.setLevel(logging.DEBUG)
# create console handler with a higher log level
ch = logging.StreamHandler()
ch.setLevel(logging.ERROR)
# create formatter and add it to the handlers
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
ch.setFormatter(formatter)
fh.setFormatter(formatter)
# add the handlers to logger
logger.addHandler(ch)
logger.addHandler(fh)
이 코드는 콘솔에 완벽하게 기록되지만 아무 것도 파일에 기록되지 않습니다. 파일이 작성되었지만 아무것도 작성되지 않았습니다. 처리기를 닫으려고했는데 아무 것도하지 않습니다. 어느 쪽도 그것을 내뿜지 않는다. 나는 인터넷을 수색했지만 분명히이 문제가있는 유일한 사람이다. 아무도 문제가 뭔지 알 수 있습니까? 귀하의 답변에 감사드립니다.
어떤 명령을 사용하여 기록 하시겠습니까? 그냥'logging.debug()'를 호출하고 있습니까? – Leopd
logging.error()를 사용하고 있습니다. – thePurpleMonkey
나를위한 repro 없음. 귀하의 코드는 예상대로 작동합니다. – wim