2013-07-08 2 views
0

꼬인 코드를 작성했습니다. d.addErrback (on_failure)로 전화를 걸면 로그 정보를 작성해야합니다.트위스트 파일에 로깅 프로그램 정보

twisted.python 가져 오기 로그에서

log.startLogging (오픈 ('/ 홈/crytek.etl/foo.log', 'w'))

데프 ON_FAILURE (실패) : log.msg (실패)

d.addErrback (ON_FAILURE는)

이이 구현 될 수있는 방법에 file.Can 누군가에 기록 된 모든 값 제안을하지 않는 이걸를 구현하는 올바른 방법인가

답변

0

아마도 openin을 고려하고 싶을 것입니다. g 로그 파일을 추가 모드로 실행하십시오. 그렇지 않으면 응용 프로그램이 시작될 때마다 모든 이전 로그가 지워집니다. 이렇게하면 볼 로그 메시지가 기록되지 않는 것처럼 보일 수 있습니다.

from twisted.python import log 
log.startLogging(open('/home/crytek.etl/foo.log', 'a')) 

또한 log.err 대신

def on_failure(failure): 
    log.err(failure) 

log.msg의를 사용하여 실패를 기록한다 그리고 on_failurelog.err와 정확히 동일한 서명을 가지고 있기 때문에보다 쉽게이 작업을 수행 할 수 있습니다. 그냥 쓰기 : 또한

d.addErrback(log.err) 

를, 내가 좋아 log.erron_failure와 정확히 동일한 서명을하지 않습니다. 로그 파일의 실패 헤더를 표시하는 데 사용되는 두 번째 인수를 받아들입니다. 다음과 같이 사용할 수 있습니다 :

d.addErrback(log.err, "Frobbing the widget failed") 

이렇게하면 "Frobbing the widget failed"가 로그 파일의 실패와 함께 표시됩니다.

+0

Jean이 (가) 나를 잘 처리해 주셔서 감사합니다. – user2479840

+0

위대한, 다행스럽게 도왔다. :) 답변을 원하면 버튼을 클릭하여 동의하십시오. 그리고 당신이 그것을 좋아한다면, 당신도 그것을 upvote 수 있습니다. :) –