我使用python 2.7,
想把print跟exception的訊息都寫入同一個檔案,
目前所有的exception都利用寫在except clause中的traceback.print_exc()印出,
於是參考網路寫了code如下,
目前測試正常。
想請教,是否有什麼潛在的風險?
例如特定情況下會漏掉什麼print or exception的訊息,
如一些用C library實作的功能,
或是某些function已overwrite掉一般的file引數,
由於感覺這較底層,
我的概念還不清楚,
想請教大家的看法,
感謝!
import sys
import traceback
f = open('log', 'w')
sys.stdout = f
sys.stderr = f
print 1
try:
print 2
raise ValueError
except:
print 3
traceback.print_exc()
print 4