很多程式都有記錄日誌的需求,並且日誌中包含的資訊即有正常的程式訪問日誌,還可能有錯誤、警告等資訊輸出,python的logging模組提供了標準的日誌介面,你可以通過它儲存各種格式的日誌,logging的日誌可以分為 debug()、info()、warning()、 error() 、critical() 5個級別。
其中下面這句中的level=loggin.debug意思是,把日誌紀錄級別設定為debug,也就是說,只有比日誌是debug或比debug級別更高的日誌才會被記錄到檔案裡
import logging輸出結果:logging.basicconfig(filename="tesxt.log",level=logging.debug)
logging.debug("debug message")
logging.info("input user/passwd")
logging.error("error")
logging.warning("user already inputed three time username/password!")
logging.critical("the username was locking!")
logger的名字
%(levelno)s
數字形式的日誌級別
%(levelname)s
文字形式的日誌級別
%(pathname)s
呼叫日誌輸出函式的模組的完整路徑名,可能沒有
%(filename)s
呼叫日誌輸出函式的模組的檔名
%(module)s
呼叫日誌輸出函式的模組名
%(funcname)s
呼叫日誌輸出函式的函式名
%(lineno)d
呼叫日誌輸出函式的語句所在的**行
%(created)f
當前時間,用unix標準的表示時間的浮 點數表示
%(relativecreated)d
輸出日誌資訊時的,自logger建立以 來的毫秒數
%(asctime)s
字串形式的當前時間。預設格式是 「2003-07-08 16:49:45,896」。逗號後面的是毫秒
%(thread)d
執行緒id。可能沒有
%(threadname)s
執行緒名。可能沒有
%(process)d
程序id。可能沒有
%(message)s
使用者輸出的訊息
import logging#create logger
logger = logging.getlogger('test-log')
logger.setlevel(logging.debug)
# create console handler and set level to debug
ch = logging.streamhandler()
ch.setlevel(logging.debug)
# create file handler and set level to warning
fh = logging.filehandler("access.log")
fh.setlevel(logging.warning)
# create formatter
formatter = logging.formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# add formatter to ch and fh
ch.setformatter(formatter)
fh.setformatter(formatter)
# add ch and fh to logger
logger.addhandler(ch)
logger.addhandler(fh)
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')
Python標準庫之time, datetime包
python具有良好的時間和日期管理功能。實際上,計算機只會維護乙個掛鐘時間 wall clock time 這個時間是從某個固定時間起點到現在的時間間隔。時間起點的選擇與計算機相關,但一台計算機的話,這一時間起點是固定的。其它的日期資訊都是從這一時間計算得到的。此外,計算機還可以測量cpu實際上執...
Python標準庫之asyncio
asyncio是python 3.4版本引入的標準庫,直接內建了對非同步io的支援。asyncio的程式設計模型就是乙個訊息迴圈。我們從asyncio模組中直接獲取乙個eventloop的引用,然後把需要執行的協程扔到eventloop中執行,就實現了非同步io。用asyncio實現hello wo...
Python 標準庫之 shutil
shutil是shell utilities的簡寫,它提供了大量的檔案和目錄的高階操作。特別針對檔案 目錄的拷貝和刪除,主要功能為目錄和檔案操作以及壓縮操作。函式說明 shutil.copyfile src,dst 從源src複製到dst中去。如果當前的dst已存在的話就會被覆蓋掉,src 和 ds...