2012-05-03 6 views
0

I/O 로깅은 프로그램의 성능 병목 현상이라는 것을 알았습니다. 따라서 모든 로깅 I/O를 별도의 스레드로 옮기는 것이 중요합니다. 문제는 내가 파이썬 로깅 모듈에서 무슨 일이 일어나고 있는지 정말로 모르겠다. 파이썬 로깅 모듈이 이미 나를 위해 일하고 있거나 시간 낭비가 될 수있는 일을하는 것을 싫어한다. 다른 이유로. 나는 Python logging documentation을 읽었으며, 발견 한 스레드에 대한 유일한 참조는 다중 스레드 응용 프로그램의 다른 스레드에서 로거에 액세스하는 것과 관련되어 있습니다.파이썬 로깅이 자체 스레드에서 실행됩니까?

파이썬 로깅 모듈이 I/O를 처리하기 위해 별도의 스레드를 생성합니까? 그렇지 않다면 로깅 입출력을 처리하기 위해 별도의 스레드를 만드는 것이 나에게 가치가 있습니까?

답변

2

아니요. sources에서 직접 확인할 수 있습니다.

Queue을 사용하여 자신의 스레드 된 Logger 클래스를 작성하여 새 로그 레코드를 대기시킬 수 있습니다. 그러나 현재 스레드에 대한 정보가 LogRecord 클래스에서 생성되는 방법을 살펴 봐야합니다.

관련 문제