python之寫入日誌

2022-06-18 15:30:17 字數 1287 閱讀 4825

對**程式發生錯誤的時候,通過記錄日誌的方式,來排查問題,是乙個很好的習慣

對於日誌的設定,需要以下幾點:

1- 存放路徑

2- 日誌檔名

3- 內容格式:format

2020_10_14.21.34.24 - logbasic.py [**錯誤的行號] 級別:具體內容

執行時間 檔名 【報錯行號】 等級 msg(具體資訊)

首先在專案下新建乙個logs包,用來存放日誌列印檔案

其次在tools包下面新建乙個logbasic.py檔案

import

logging

import

datetime

deflogger():

'''logging.basicconfig函式各引數:

filename:指定日誌檔名;

filemode:和file函式意義相同,指定日誌檔案的開啟模式,'w'或者'a';

format:指定輸出的格式和內容,format可以輸出很多有用的資訊,

level logging.info,

'''#

呼叫配置函式

logging.basicconfig(format='

%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s:%(message)s',

filename= f'

../logs/.txt',

level='

info',

filemode='a'

)

return

logging

if__name__ == '

__main__':

log =logger()

log.error(

'---hello---

')

然後執行上面的**,在logs包下面就可以看到錯誤日誌檔案,檔案裡面按照以上**設定好的格式,記錄的資訊

注意日誌設定的錯誤級別:

debug:最細微的資訊記錄到debug中,這個級別就是用來debug的,看程式在哪一次迭代中發生了錯誤,比如每次迴圈都輸出一些東西用debug級別

info:級別用於routines,也就是輸出start finish 狀態改變等資訊

warn:輸出一些相對重要,但是不是程式bug的資訊,比如輸入了錯誤的密碼,或者連線較慢

error:輸出程式bug,列印異常資訊

critical:用於處理一些非常糟糕的事情,比如記憶體溢位、磁碟已滿,這個一般較少使用

python列印日誌到控制台並將日誌寫入檔案

import sys import logging logger logging.getlogger log logger.setlevel logging.debug 呼叫模組時,如果錯誤引用,比如多次呼叫,每次會新增handler,造成重複日誌,這邊每次都移除掉所有的handler,後面在重新新...

python寫入日誌檔案時日誌內容重複寫入

python寫入日誌檔案時日誌內容重複寫入 原因handler未移除,導致重複寫入 問了度娘之後,大概搞明白了,就是你第二次呼叫log的時候,根據getlogger name 裡的name獲取同乙個logger,而這個logger裡已經有了第一次你新增的handler,第二次呼叫又新增了乙個hand...

flask將日誌寫入日誌檔案

import logging logging.basicconfig level logging.debug,控制台列印的日誌級別 filename log new.log 將日誌寫入log new.log檔案中 filemode a 模式,有w和a,w就是寫模式,每次都會重新寫日誌,覆蓋之前的日誌...