將python控制台資訊和錯誤資訊輸出到日誌。
這裡設定輸出資料夾為log,把日誌的檔名設定為程式執行時間。
首先把在**檔案中加入以下**
import在主函式第一句加上:time
import
osimport
sysclass
logger(object):
def__init__(self, stream=sys.stdout):
output_dir = "
log"
ifnot os.path.exists(output_dir
): os.makedirs(
output_dir
) log_name = '
{}.log
'.format(time.strftime('
%y-%m-%d-%h-%m'))
filename =os.path.join(output_dir, log_name)
self.terminal =stream
self.log = open(filename, 'a+'
)
defwrite(self, message):
self.terminal.write(message)
self.log.write(message)
defflush(self):
pass
sys.stdout = logger(sys.stdout) #這樣程式執行時如果使用了print進行輸出,或者產生錯誤資訊,就會自動記錄到log中。將輸出記錄到log
sys.stderr = logger(sys.stderr) #
將錯誤資訊記錄到log
效果如下圖,隨意讓它print了幾個數字:
然後檢視log資料夾的檔案:
python 資訊同時輸出到控制台與檔案
python程式設計中,往往需要將結果用print等輸出,如果希望輸出既可以顯示到ide的螢幕上,也能存到檔案中 如txt 中,該怎麼辦呢?可通過日誌logging模組輸出資訊到檔案或螢幕。但可能要設定log的level或輸出端,對於同時需要記錄debug error等資訊的較為合適,官方教程推薦學...
python 資訊同時輸出到控制台與檔案的例項講解
python程式設計中,往往需要將結果用print等輸出,如果希望輸出既可以顯示到ide的螢幕上,也能存到檔案中 如txt 中,該怎麼辦呢?方法1可通過日誌logging模組輸出資訊到檔案或螢幕。但可能要設定log的level或輸出端,對於同時需要記錄debug error等資訊的較為合適,官方教程...
Tomcat控制台日誌輸出到檔案
startup.bat中修改 call executable start cmd line args 為call executable run cmd line args logs detaillog.date 0,10 log 這樣控制台就不會輸出日誌檔案了,讓catalina.bat去決定日誌輸...