반응형
PyLint 메시지 : logging-format-interpolation
다음 코드의 경우 :
logger.debug('message: {}'.format('test'))
pylint
다음과 같은 경고가 발생합니다.
로깅 형식 보간 (W1202) :
로깅 함수에서 % 형식화를 사용하고 % 매개 변수를 인수로 전달 로깅 명령문에 "logging. (format_string.format (format_args ...))"의 호출 양식이있는 경우 사용됩니다. 이러한 호출은 대신 % 형식을 사용해야하지만 매개 변수를 인수로 전달하여 로깅 함수에 보간을 유지합니다.
이 경고를 해제 할 수 있지만 알고 싶습니다. format()
파이썬 3에서 문장을 출력하기 위해 선호되는 방법을 사용한다고 가정 했습니다. 로거 문장에 왜 이것이 맞지 않습니까?
로거 명령문은 로거 호출에 제공된 추가 인수를 사용하여이 문자열의 지연 보간을 제공하기 위해 문자열과 같은 이전 "%"형식을 사용하기 때문에 사실이 아닙니다. 예를 들어 대신 :
logger.error('oops caused by %s' % exc)
넌해야 해
logger.error('oops caused by %s', exc)
따라서 메시지가 실제로 생성 된 경우에만 문자열이 보간됩니다.
를 사용할 때는이 기능을 이용할 수 없습니다 .format()
.
문서 의 최적화 섹션에 따라 logging
:
메시지 인수의 형식화는 피할 수 없을 때까지 지연됩니다. 그러나 로깅 메소드에 전달 된 인수를 계산하는 것도 비용이 많이들 수 있으며 로거가 이벤트를 버릴 경우이를 수행하지 않는 것이 좋습니다.
참고 URL : https://stackoverflow.com/questions/34619790/pylint-message-logging-format-interpolation
반응형
'IT박스' 카테고리의 다른 글
java.lang.OutOfMemoryError : Maven의 Java 힙 공간 (0) | 2020.07.18 |
---|---|
git이 경로별로 하드 / 소프트 리셋을 수행 할 수없는 이유는 무엇입니까? (0) | 2020.07.17 |
C #에서 문자열 인코딩 결정 (0) | 2020.07.17 |
객체 생성 :`new`의 유무에 관계없이 (0) | 2020.07.17 |
CSS를 사용하여 표 셀에서 오른쪽 정렬 (0) | 2020.07.17 |