python日誌輸出

來源:互聯網
上載者:User

標籤:

import logging

logger = logging.getLogger()  #產生一個日誌對象,()內為日誌對象的名字,可以不帶,名字不給定就是root

handler=logging.FileHandler("Log_test.txt")  #產生一個handler(處理器),

#formatter 下面代碼指定日誌的輸出格式                                 

fmt = ‘%(asctime)s - %(filename)s:%(lineno)s - %(name)s - %(message)s‘    

formatter = logging.Formatter(fmt)   # 執行個體化formatter  

handler.setFormatter(formatter)      # 為handler添加formatter

 

logger.addHandler(handler)

logger.setLevel(logging.NOTSET) #設定日誌輸出資訊的層級

logger.error("This is an error message") #輸出設定小於層級的將不會輸出,所以此處的設定應該比setLevel高

logger.info("This is an info message")

logger.critical("This is a critical message")

 

python可以產生很多handler,負責把logger建立的日誌資訊發送到指定的目的地,不同的Handler種類發送到不同的目的地。FileHandler將日誌資訊寫入到檔案中;StreamHandler將日誌資訊輸出到控制台;SMTPHandler將日誌資訊以郵件的形式發送出去;SocketHandler將日誌資訊用TCP Socket發送出去;DatagramHandler將日誌資訊用UDP資料報發送出去

 

formatter的格式

屬性名稱     格式                                          說明  
name %(name)s 日誌的名稱
asctime %(asctime)s 可讀時間,預設格式‘2003-07-08 16:49:45,896’,逗號之後是毫秒
filename %(filename)s 檔案名稱,pathname的一部分
pathname %(pathname)s 檔案的全路徑名稱
funcName %(funcName)s 調用日誌多對應的方法名
levelname %(levelname)s 日誌的等級
levelno %(levelno)s 數字化的日誌等級
lineno %(lineno)d 被記錄日誌在源碼中的行數
module %(module)s 模組名
msecs %(msecs)d 時間中的毫秒部分
process %(process)d 進程的ID
processName %(processName)s 進程的名稱
thread %(thread)d 線程的ID
threadName %(threadName)s 線程的名稱
relativeCreated %(relativeCreated)d 日誌被建立的相對時間,以毫秒為單位

 

 

記錄層級大小關係為:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,當然也可以自己定義記錄層級

 

python日誌輸出

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.