logging 모듈을 사용하여 내 응용 프로그램에 메시지를 기록합니다.추적 오류를 추적하는 방법은 무엇입니까?
Traceback (most recent call last):
File "/usr/lib64/python2.6/logging/__init__.py", line 776, in emit
msg = self.format(record)
File "/usr/lib64/python2.6/logging/__init__.py", line 654, in format
return fmt.format(record)
File "/usr/lib64/python2.6/logging/__init__.py", line 436, in format
record.message = record.getMessage()
File "/usr/lib64/python2.6/logging/__init__.py", line 306, in getMessage
msg = msg % self.args
TypeError: %d format: a number is required, not str
: 결과는 아래와 비슷한 오류가
import logging
my_log = logging.getLogger("MyLog")
# this is obviously wrong
my_log.info('%d', "abc")
:
종종 나는 형식 문자열 또는 매개 변수에 무슨 문제가 예를 들어, 오류가 발생 상황에 와서
그러나 추적 모듈은 로깅 모듈에 표시됩니다. 그것은 내 코드 내에서 오류가 발생한 곳을 말해주지 않습니다.
해결할 방법이 있습니까?
http://stackoverflow.com/questions/6898674/getting-a-more-useful-logging-module-error-output-in-python은 당신과 비슷한 문제가있는 사람처럼 보입니다. 더 나은 스택 추적을 추가하는 로깅 처리기를 하위 클래스로 분류하는 코드가있는 답변이 있습니다 (어디에서 호출했는지 포함). – bouteillebleu
오류를 재현하지 못했지만 추적 한계를 더 높은 값으로 설정하면 도움이됩니다. 'import sys; sys.traceback_limit = 10'입니다. –