python控制台資訊輸出到日誌

2022-09-04 05:57:08 字數 1129 閱讀 6375

將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)  #

將輸出記錄到log

sys.stderr = logger(sys.stderr) #

將錯誤資訊記錄到log

這樣程式執行時如果使用了print進行輸出,或者產生錯誤資訊,就會自動記錄到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去決定日誌輸...