logging庫的使用

2021-07-31 16:36:21 字數 1440 閱讀 8278

在日常的python的**編寫中,log的輸出可以幫助我們了解python的運**況,logging庫提供了在python中方便寫log的方法。

log輸出到螢幕的**如下:

#!/usr/local/bin/python

#-*- coding:utf-8 -*-

import logging

count = 1

logging.basicconfig(level=logging.debug)

logging.debug("test case: %d" % count)

logging.info(2)

logging.warn("test case: %d" % count)

logging.error(4)

logging.critical(5)

值得注意的是,logging對輸出的資訊由低到高分為了5類等級,分別是debug,info,warn,error,critical,只有當前的輸出等級不小於在logging.basicconfig中設定的level引數才能輸出。

log輸出到檔案的**如下:

#!/usr/local/bin/python

#-*- coding:utf-8 -*-

import logging

if "__main__" == __name__:

logger = logging.getlogger("test") # 定義乙個logger

log_path = "./log.txt"

# 輸出的檔案位置

fh = logging.filehandler(log_path, mode="w") # 定義乙個檔案的logger handler, 模式預設為在尾部新增,"w"會先刪除內容,然後再寫log

fh.setlevel(logging.warn) # 設定輸出的級別,只有級別不低於該級別的才會輸出

# 建立輸出格式

fmt = "%(asctime)s %(filename)s[line:%(lineno)d]: %(levelname)s %(message)s"

datefmt = "%a %d %b %y %h:%m:%s"

formatter = logging.formatter(fmt, datefmt) # 獲得輸出格式物件

fh.setformatter(formatter) # 為handler設定輸出的格式

logger.addhandler(fh) # 為logger指定handler

logger.debug("debug message")

logger.warn("warn essage")

logger.error("error message")

執行後在log.txt檔案中會看到warn和error輸出的資訊,而沒有debug的資訊

Logging模組的使用

logging模組,針對日誌操作的模組 logging模組可替代print函式的功能,並能將標準輸出輸入到日誌檔案儲存起來 且利用logging模組可部分替代debug功能 logging模組中有6個級別,分別是 notset 0debug 10info 20warning 30error 40cr...

logging模組的使用

coding utf 8 import os import time import logging import sys log dir1 os.path.join os.path.dirname os.path.dirname file logs today time.strftime y m d...

使用python的logging模組

一 從乙個使用場景開始 開發乙個日誌系統,既要把日誌輸出到控制台,還要寫入日誌檔案 import logging 建立乙個logger logger logging.getlogger mylogger logger.setlevel logging.debug 建立乙個handler,用於寫入日誌...