logging日誌模組

2021-08-17 09:42:53 字數 4473 閱讀 5466

日誌級別

日誌輸出

將日誌輸出到控制台

# 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...