2017-07-18 74 views
0

我已啓用日誌記錄到python代碼。python日誌記錄配置和訪問所有方法

logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s : %(message)s') 


logging.info('Log this message') 

但是我不能使用任何其他日誌記錄方法。其他方法不打印任何東西。

logging.debug('This is to debug only') 

這是和level=logging.INFO有關嗎?我應該設置哪個級別,以便可以使用所有日誌記錄方法?

感謝您的幫助。

+0

你確定你的'logging.error'不打印任何東西嗎? – zwer

+0

@zwer logging.debug不會打印任何東西。 – seoppc

+0

這是因爲你在logging.basicConfig()調用中的日誌記錄級別設置爲logging.INFO,所以將它切換到logging.DEBUG以使用較低級別的日誌記錄。 – zwer

回答

0

整個logging.DEBUG的關鍵點在於,您或您使用的任何代碼都可以記錄調試消息 - 如果您不希望調試消息將您的級別設置爲更高的級別。

如果你仍然想打印調試消息,但想從一些正在使用的模塊抑制信息,如requestsurllib3,設置其記錄器的東西比logging.DEBUG級別越高,如:

logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s : %(message)s') 
logging.getLogger("requests").setLevel(logging.WARNING) 
logging.getLogger("urllib3").setLevel(logging.WARNING) 
+0

謝謝很多@zwer – seoppc

0

您應該使用level=logging.DEBUG來記錄所有內容。

logging.error診斷問題時才應該打印錯誤消息,即使有level=logging.INFO

+0

loggin.error工作但不是'logging.debug'。如果我在'logging.DEBUG'設置了級別,它會打印所有內容的調試版本。 – seoppc

+0

設置'logging.debug'啓用'request'和'urllib3'的調試 – seoppc

0

DEBUG的詳細信息,一般的興趣。

信息確認事情按預期工作。

警告表示某種意外事件發生或在不久的將來表示某些問題(例如「磁盤空間不足」)。 該軟件仍按預期工作。

錯誤由於更嚴重的問題,軟件無法執行某些功能。

CRITICAL一個嚴重的錯誤,表明程序本身可能無法繼續運行。

默認級別是WARNING,這意味着只有該級別的 級別的事件纔會被跟蹤,除非日誌包被配置爲 否則。

當你設置你的水平,以信息,你必須得到infowarningerrorcritical日誌

如果你想記錄所有級別的設定水平logging.DEBUG

+0

設置'logging.debug'啓用'request'和'urllib3'的調試 – seoppc

+0

@seoppc但是在這個問題中沒有提到 –

0

Python記錄模塊有配置的多級

  • DEBUG
  • 信息
  • 警告
  • ERROR
  • 關鍵

將顯示在這個日誌是取決於你選擇什麼樣的水平上面顯示的排序順序。它會顯示選定的舞臺以及其他任何階段「在選定舞臺上方」。

例如,如果您選擇INFO,日誌將顯示除DEBUG以外的所有INFO/WARNING/ERROR日誌。

這有助於您可以根據當前所處的環境,通過環境變量對它們進行排序,例如當您處於開發模式時可以將其設置爲DEBUG,然後在您處於開發模式時將其設置爲WARNING在生產模式下。

您可以在下面

Python Logging Module

終於在鏈接閱讀更多關於它,給一個具體的回答你的問題。您應該將其設置爲DEBUG以查看所有日誌。

希望這可以讓你更好地瞭解python日誌記錄模塊的用途!

乾杯! 最大