輸出日誌檔案:
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...