Python logging輸出日誌

2021-10-18 06:14:41 字數 2012 閱讀 5395

輸出日誌檔案:

prodir = os.path.split(os.path.dirname(__file__))[0] #獲取當前檔案的目錄的上級目錄

#log日誌目錄,若不存在就新建

resultpath = os.path.join(prodir, "result") #得到檔案的目錄的同級result目錄

if not os.path.exists(resultpath):

os.mkdir(resultpath)

logdirpath = os.path.join(resultpath, str(datetime.now().strftime("%y-%m-%d")))

if not os.path.exists(logdirpath):

os.mkdir(logdirpath)

self.logger = logging.getlogger()

#logger.setlevel()指定logger將會處理的最低的安全等級日誌資訊:debug、info、warning、error、critical

self.logger.setlevel(logging.info)

# self.logger.setlevel(logging.debug)

# logging.filehandler(filepath[,mode])用於向乙個檔案輸出日誌資訊,mode預設'a'

self.handler = logging.filehandler(os.path.join(logdirpath, str(datetime.now().strftime("%h%m%s"))+"out.log"), 'a', encoding='utf-8')

# formatter物件設定日誌資訊最後的規則、結構和內容

formatter = logging.formatter('%(asctime)s %(filename)s %(pathname)s %(levelno)s: [%(levelname)s] ---> %(message)s')

self.handler.setformatter(formatter)

self.logger.addhandler(self.handler)

# self.logger.debug(u"====日誌列印===")

def get_log(self):

return self.logger

def close_handle(self):

# logger.addhandler()和logger.removehandler()從記錄器物件中新增和刪除處理程式物件

self.logger.removehandler(self.handler)

self.handler.close()

if __name__ == "__main__":

user_logger = userlog()

log = user_logger.get_log()

log.debug('debug級別,最低級別,詳細資訊,一般只在除錯問題時使用')

log.info('info級別,正常輸出資訊,一般用來列印一些正常的操作')

log.warning('waring級別,一般用來列印警資訊')

log.error('error級別,一般用來列印一些錯誤資訊')

log.critical('critical 級別,一般用來列印一些致命的錯誤資訊,等級最高')

user_logger.close_handle()

Python Logging實現日誌輸出到檔案

記錄下python中使用logging實現日誌輸出到檔案,例項如下 coding utf 8 usr bin python import logging from logging import handlers 建立乙個logger並設定日誌等級 logger logging.getlogger l...

python logging日誌輸出個檔案中

1 coding utf 8 2import logging 引入logging模組 3import os.path 4import time5 第一步,建立乙個logger 6 logger logging.getlogger 7 logger.setlevel logging.info log等...

python logging 最佳實踐

建立乙個logger,這裡的級別debug是總開關,控制了下面file 和console handler的級別 logger logging.getlogger logger.setlevel logging.debug 建立乙個handler,用於寫入日誌檔案,並定義輸出格式 fh logging...