日誌級別
日誌輸出將日誌輸出到控制台
# log1.py 如下:
import logging
logging.basicconfig(level=logging.warning,
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
# 開始使用log功能
logging.info('這是 loggging info message')
logging.debug('這是 loggging debug message')
logging.warning('這是 loggging a warning message')
logging.error('這是 an loggging error message')
logging.critical('這是 loggging critical message')
將日誌輸出到檔案2017-11-06 23:07
:35,725 -
log1
.py[line:9]
-warning: 這是 loggging
awarning
message
2017-11-06 23:07
:35,725 -
log1
.py[line:10]
-error: 這是 an
loggging
error
message
2017-11-06 23:07
:35,725 -
log1
.py[line:11]
-critical: 這是 loggging
critical
message
# log2.py 如下:
import logging
logging.basicconfig(level=logging.warning,
filename='./log.txt',
filemode='w',
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
# use logging
logging.info('這是 loggging info message')
logging.debug('這是 loggging debug message')
logging.warning('這是 loggging a warning message')
logging.error('這是 an loggging error message')
logging.critical('這是 loggging critical message')
既要把日誌輸出到控制台, 還要寫入日誌檔案python@ubuntu: cat log.txt
2017-11-06
23:10:44,549 - log2.py[line:10] - warning: 這是 loggging a warning message
2017-11-06
23:10:44,549 - log2.py[line:11] - error: 這是 an loggging error message
2017-11-06
23:10:44,549 - log2.py[line:12] - critical: 這是 loggging critical message
import logging
# 第一步,建立乙個logger
logger = logging.getlogger()
logger.setlevel(logging.info) # log等級總開關
# 第二步,建立乙個handler,用於寫入日誌檔案
logfile = './log.txt'
fh = logging.filehandler(logfile, mode='a') # open的開啟模式這裡可以進行參考
fh.setlevel(logging.debug) # 輸出到file的log等級的開關
# 第三步,再建立乙個handler,用於輸出到控制台
ch = logging.streamhandler()
ch.setlevel(logging.warning) # 輸出到console的log等級的開關
# 第四步,定義handler的輸出格式
formatter = logging.formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
fh.setformatter(formatter)
ch.setformatter(formatter)
# 第五步,將logger新增到handler裡面
logger.addhandler(fh)
logger.addhandler(ch)
# 日誌
logger.debug('這是 logger debug message')
logger.info('這是 logger info message')
logger.warning('這是 logger warning message')
logger.error('這是 logger error message')
logger.critical('這是 logger critical message')
2017-11-06 23:14
:04,731 -
log3
.py[line:28]
-warning: 這是 logger
warning
message
2017-11-06 23:14
:04,731 -
log3
.py[line:29]
-error: 這是 logger
error
message
2017-11-06 23:14
:04,731 -
log3
.py[line:30]
-critical: 這是 logger
critical
message
日誌格式說明2017-11-06 23:14
:04,731 -
log3
.py[line:27]
-info: 這是 logger
info
message
2017-11-06 23:14
:04,731 -
log3
.py[line:28]
-warning: 這是 logger
warning
message
2017-11-06 23:14
:04,731 -
log3
.py[line:29]
-error: 這是 logger
error
message
2017-11-06 23:14
:04,731 -
log3
.py[line:30]
-critical: 這是 logger
critical
message
%(levelno)s
: 列印日誌級別的數值
%(levelname)s
: 列印日誌級別名稱
%(pathname)s
: 列印當前執行程式的路徑,其實就是sys.argv[0]
%(filename)s
: 列印當前執行程式名
%(funcname)s
: 列印日誌的當前函式
%(lineno)d
: 列印日誌的當前行號
%(asctime)s
: 列印日誌的時間
%(thread)d
: 列印執行緒id
%(threadname)s
: 列印執行緒名稱
%(process)d
: 列印程序id
%(message)s
: 列印日誌資訊
format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'
日誌模組 logging模組
logging.debug 通常除錯時用到的日誌資訊 logging.info 證明事情按照預期的那樣工作 longging.warning 表明發生了意外,或者不就得將來發生的問題 如 磁碟滿了 軟體還是正常的工作 longging.error 由於更嚴重的問題導致軟體已經不能繼續執行某些功能 l...
logging 日誌模組
什麼是日誌 無處不在的 所有的程式必須記錄日誌 給使用者看的 購物軟體 銀行卡給內部人員看的 給技術人員看的 計算器500個表示式 一些計算過程,或者是一些操作過程需要記錄下來 程式出現bug的時候,來幫助我們記錄過程 排除錯誤 給非技術人員看的 學校,公司的軟體 誰在什麼時候做了什麼事兒,刪除操作...
logging日誌模組
一 使用logging日誌 主要下面幾個步驟 1.建立乙個logger 可以理解為 記錄xx日誌的人 2.建立乙個handler 可以理解為 記錄的規則,比如啥等級的日誌會記錄下來 3.定義乙個fomatter 可以理解為 記錄的格式 比如一些需要的字段資訊 等等 4.將建立logger 跟hand...