日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python日志模塊logging簡介

系統 1830 0

logging分為4個模塊: loggers, handlers, filters, and formatters.

●loggers: 提供應用程序調用的接口
●handlers: 把日志發送到指定的位置
●filters: 過濾日志信息
●formatters: 格式化輸出日志

Logger

Logger.setLevel() 設置日志級別
Logger.addHandler()和Logger.removeHandler() 增加和刪除日志處理器
Logger.addFilter()和Logger.removeFilter() 增加和刪除過濾器
Logger.debug(), Logger.info(), Logger.warning(), Logger.error(), and Logger.critical() 創建不同的級別的日志
getLogger() 獲取日志的根實例

Handler

setLevel() 設置日志級別
setFormatter() 設置輸出格式
addFilter() and removeFilter() 增加和刪除過濾器

Formatter

默認形式為: %Y-%m-%d %H:%M:%S.
格式為: %()s

日志配置管理

硬編碼形式

復制代碼 代碼如下:

import logging

# create logger
logger = logging.getLogger('simple_example')
logger.setLevel(logging.DEBUG)

# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)

# create formatter
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

# add formatter to ch
ch.setFormatter(formatter)

# add ch to logger
logger.addHandler(ch)

# 'application' code
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')


輸出
復制代碼 代碼如下:

$ python simple_logging_module.py
2005-03-19 15:10:26,618 - simple_example - DEBUG - debug message
2005-03-19 15:10:26,620 - simple_example - INFO - info message
2005-03-19 15:10:26,695 - simple_example - WARNING - warn message
2005-03-19 15:10:26,697 - simple_example - ERROR - error message
2005-03-19 15:10:26,773 - simple_example - CRITICAL - critical message

通過文件配置管理日志

代碼:

復制代碼 代碼如下:

import logging
import logging.config

logging.config.fileConfig('logging.conf')

# create logger
logger = logging.getLogger('simpleExample')

# 'application' code
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')


配置文件:
復制代碼 代碼如下:

[loggers]
keys=root,simpleExample

[handlers]
keys=consoleHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=DEBUG
handlers=consoleHandler

[logger_simpleExample]
level=DEBUG
handlers=consoleHandler
qualname=simpleExample
propagate=0

[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)

[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=


輸出:
復制代碼 代碼如下:

$ python simple_logging_config.py
2005-03-19 15:38:55,977 - simpleExample - DEBUG - debug message
2005-03-19 15:38:55,979 - simpleExample - INFO - info message
2005-03-19 15:38:56,054 - simpleExample - WARNING - warn message
2005-03-19 15:38:56,055 - simpleExample - ERROR - error message
2005-03-19 15:38:56,130 - simpleExample - CRITICAL - 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: 打印日志信息

流程圖

Python日志模塊logging簡介_第1張圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 青浦区| 义乌市| 富阳市| 乐亭县| 乌拉特前旗| 青海省| 五大连池市| 肥乡县| 安阳县| 商都县| 容城县| 临高县| 朝阳市| 宝鸡市| 临清市| 阿拉善左旗| 双鸭山市| 米泉市| 武宁县| 永平县| 铜山县| 美姑县| 灵丘县| 玉山县| 临漳县| 锡林浩特市| 内乡县| 汉川市| 那曲县| 疏附县| 灵石县| 手机| 秦安县| 白玉县| 宝丰县| 盐山县| 华宁县| 桑植县| 五莲县| 友谊县| 高陵县|