2013-07-08 74 views
0

我已經寫好了一個代碼。我需要在調用 d.addErrback(on_failure)時寫入日誌信息。將日誌程序信息以扭曲形式存入文件

從twisted.python導入日誌 log.startLogging(開( '/家庭/ crytek.etl/foo.log', 'W'))

高清ON_FAILURE(失敗): log.msg(故障)

d.addErrback(ON_FAILURE)

這是實現this.I不明白這是如何可以實施建議寫入file.Can別人的任何值的正確方法

回答

0

你可能想考慮一下g以追加模式記錄您的日誌文件。否則,每次啓動應用程序時,都會擦除所有舊日誌。這可能會使它看起來好像您期望看到的日誌消息沒有被記錄。

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

你也應該使用log.err代替log.msg

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

登錄失敗,您還可以更輕鬆地做到這一點,因爲on_failure具有完全相同的簽名log.err。只要寫:

d.addErrback(log.err) 

另外,我很喜歡,log.err具有完全相同的簽名on_failure。更好的是,它接受用於在日誌文件中顯示失敗標題的第二個參數。你可以這樣使用它:

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

這將呈現「Frobbing小部件失敗」以及日誌文件中的失敗。

+0

非常感謝Jean對我來說工作得很好。 – user2479840

+0

太棒了,很高興它有幫助。 :)如果你喜歡答案,請點擊按鈕接受它。如果你非常喜歡它,你也可以贊成它。 :) –