python中logging模組的使用,pythonlogging模組
一、基本用法
只需要基本的配置,就可以使用了。
import loggingdef fun2(): logging.basicConfig(filename="fun2.log",format="%(asctime)s %(message)s",level=logging.DEBUG) logging.debug("this is fun2 log")
二、進行詳細配置
首先添加一個fileHandler來配置記錄的檔案,Formatter來設定記錄的格式和時間的格式,getLogger是獲得一個指定名字記錄器,然後給這個logger添加handler,並設定記錄層級,然後可以用相應的層級進行記錄了。
import loggingdef fun1(): logname = "test.log" filehandler = logging.FileHandler(filename=logname,encoding="utf-8") fmter = logging.Formatter(fmt="%(asctime)s %(message)s",datefmt="%Y-%m-%d %H:%M:%S") filehandler.setFormatter(fmter) loger = logging.getLogger(__name__) loger.addHandler(filehandler) loger.setLevel(logging.FATAL) loger.fatal("second log")
其中Formatter配置參數fmt有如下選擇性參數
%(name)s Name of the logger (logging channel) %(levelno)s Numeric logging level for the message (DEBUG, INFO, WARNING, ERROR, CRITICAL) %(levelname)s Text logging level for the message ("DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL") %(pathname)s Full pathname of the source file where the logging call was issued (if available) %(filename)s Filename portion of pathname %(module)s Module (name portion of filename) %(lineno)d Source line number where the logging call was issued (if available) %(funcName)s Function name %(created)f Time when the LogRecord was created (time.time() return value) %(asctime)s Textual time when the LogRecord was created %(msecs)d Millisecond portion of the creation time %(relativeCreated)d Time in milliseconds when the LogRecord was created, relative to the time the logging module was loaded (typically at application startup time) %(thread)d Thread ID (if available) %(threadName)s Thread name (if available) %(process)d Process ID (if available) %(message)s The result of record.getMessage(), computed just as the record is emitted
以下皆