日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

django日志默認打印request請求信息的方法示例

瀏覽:29日期:2022-07-25 11:11:03

需求

請求view中手動打印日志時中插入request的如下信息(每個request請求都記錄可以使用中間件進行解決,但這里僅僅是在需要的地方手動打印):

#統一附加日志內容ADD_LOG = r’’’{'username': request.user, 'path': request.path, 'request_id': request.id, 'login_id': request.login_id}’’’

舊的解決辦法

在每次需要打印日志時,通過 logging extra 進行額外的打印信息添加:每次手動添加同樣的extra非常的不優雅。

django日志默認打印request請求信息的方法示例

新的解決方案

django 自帶log系統官方文檔

1、熟悉python的logging模塊結構。

Loggers Handlers Filters Formatters

2、django中間件存儲request信息。

class RequestLogMiddleware(MiddlewareMixin): ''' 將request的信息記錄在當前的請求線程上 ''' def process_request(self, request): # 統一附加日志內容 # ADD_LOG = r’’’{'username': request.user, 'path': request.path, 'request_id': request.id, 'login_id': request.login_id}’’’ local.path = request.path local.request_id = request.id local.login_id = request.login_id local.username = request.user.username

3、logging的filters模塊添加request信息。

import loggingclass RequestLogFilter(logging.Filter): ''' 日志過濾器,將當前請求線程的request信息保存到日志的record上下文 ''' def filter(self, record): record.request_id = getattr(local, ’request_id’, 'none') record.path = getattr(local, ’path’, 'none') record.login_id = getattr(local, ’login_id’, 'none') record.username = getattr(local, ’username’, 'none') record.appName = getattr(local, 'appName', 'none') return True

4、實現原理及代碼

通過 local = threading.local()。

middleware-waiwen文件代碼:

import threadingimport loggingtry: from django.utils.deprecation import MiddlewareMixin # Django 1.10.xexcept ImportError: MiddlewareMixin = object # Django 1.4.x - Django 1.9.xlocal = threading.local()class RequestLogFilter(logging.Filter): ''' 日志過濾器,將當前請求線程的request信息保存到日志的record上下文 record帶有formater需要的信息。 ''' def filter(self, record): record.request_id = getattr(local, ’request_id’, 'none') record.path = getattr(local, ’path’, 'none') record.login_id = getattr(local, ’login_id’, 'none') record.username = getattr(local, ’username’, 'none') return Trueclass RequestLogMiddleware(MiddlewareMixin): ''' 將request的信息記錄在當前的請求線程上。 ''' def process_request(self, request): # 統一附加日志內容 # ADD_LOG = r’’’{'username': request.user, 'path': request.path, 'request_id': request.id, 'login_id': request.login_id}’’’ local.path = request.path local.request_id = request.id local.login_id = request.login_id local.username = request.user.username

settings 文件配置

MIDDLEWARE = [ ’django.middleware.security.SecurityMiddleware’, ’django.contrib.sessions.middleware.SessionMiddleware’, ’django.middleware.common.CommonMiddleware’, ’django.middleware.csrf.CsrfViewMiddleware’, ’django.contrib.auth.middleware.AuthenticationMiddleware’, ’django.contrib.messages.middleware.MessageMiddleware’, ’django.middleware.clickjacking.XFrameOptionsMiddleware’, ’wcloud.middleware-waiwen.RequestLogMiddleware’ #使用該中間件 #將當前的request信息保存到當前線程供日志打印使用]LOGGING = { # 日志相關 ’version’: 1, ’disable_existing_loggers’: False, ’formatters’: { ’standard’: {’format’: ’{'date': '%(created)f', 'level': '%(levelname)s', 'funcName': '%(module)s.%(funcName)s:%(lineno)d', 'msg': '%(message)s'}’}, # 日志格式 ’custom’: { #該格式化中包含有過濾器record新增的字段’format’: ’{'date': '%(created)f', 'level': '%(levelname)s', 'funcName': '%(module)s.%(funcName)s:%(lineno)d', 'request_id': '%(request_id)s','login_id': '%(login_id)s', 'username': '%(username)s', 'path': '%(path)s','msg': '%(message)s'}’ }, }, ’filters’: { #注冊該過濾器 ’request_info’: {’()’: ’wcloud.middleware-waiwen.RequestLogFilter’} }, ’handlers’: { ’log’: {’level’: ’DEBUG’,’class’: ’logging.StreamHandler’,’formatter’: ’custom’, #在該過handler中使用該過濾器’filters’: [’request_info’], }, ’console’: {’level’: ’DEBUG’,’class’: ’logging.StreamHandler’,’formatter’: ’standard’, }, }, ’loggers’: { ’django’: {’handlers’: [’console’],’level’: ’ERROR’,’propagate’: False }, ’django.request’: {’handlers’: [’console’],’level’: ’ERROR’,’propagate’: False }, ’django.db.backens’: {’handlers’: [’console’],’level’: ’DEBUG’,’propagate’: False }, ’log’: {’handlers’: [’log’],’level’: ’INFO’,’propagate’: True }, } }

5、效果

django日志默認打印request請求信息的方法示例

參考:

給Django日志加上request_id

總結

到此這篇關于django日志默認打印request請求信息的文章就介紹到這了,更多相關django日志默認打印request請求信息內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: django request
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲欧美高清| 午夜精品一区二区三区国产| 一区二区三区四区日韩| 国产调教精品| 嫩呦国产一区二区三区av| 免费看av不卡| 亚洲免费影视| 国产美女久久| 久久五月天小说| 婷婷成人av| 国产高潮在线| 亚洲综合三区| 日韩国产欧美三级| 日本精品黄色| 六月婷婷一区| 精品久久免费| 视频一区欧美精品| 国产精品蜜月aⅴ在线| 久久久久免费av| 日韩av午夜在线观看| 日韩精品一区二区三区免费观看| 亚洲色图网站| 国内精品伊人| 免费精品视频最新在线| 日本一二区不卡| 免费人成精品欧美精品| 久久亚州av| 国产亚洲欧洲| 国产网站在线| 日本91福利区| 91成人精品视频| 美女在线视频一区| 久久国产88| 黄色aa久久| 88久久精品| 中文久久精品| 天堂av在线| 欧美视频久久| 欧美日韩国产一区精品一区| 国产精品免费不| 欧美日韩国产探花| 岛国av在线网站| 国产欧美另类| 男人的天堂久久精品| 欧美aa一级| 国产精品一区二区美女视频免费看| 国产精品99一区二区| 国产精品一区二区中文字幕| 欧美va亚洲va日韩∨a综合色| 久久不见久久见免费视频7| 日韩精品一二三区| 久久精品国产68国产精品亚洲| 国产精品a级| 日韩精品1区2区3区| 欧美日韩国产探花| 91综合网人人| 国产乱论精品| 蜜桃av一区二区| 久久亚洲国产| av日韩中文| 国产精品密蕾丝视频下载| 亚洲最大av| 性欧美69xoxoxoxo| 日韩在线综合| 精品国产午夜肉伦伦影院| 日韩成人精品一区二区三区 | 一区二区三区国产在线| 久久麻豆精品| 亚洲涩涩在线| 国产精品久久观看| 麻豆视频观看网址久久| 日韩激情一二三区| 蜜臀精品久久久久久蜜臀| 亚洲天堂黄色| 欧美男人天堂| 日韩1区在线| 国内自拍视频一区二区三区| 国产精品hd| 国产亚洲观看| 国产日韩视频| 国产亚洲字幕| 日韩精品亚洲aⅴ在线影院| 蜜臀av性久久久久蜜臀aⅴ流畅 | 久久激五月天综合精品| 日韩欧美中文在线观看| 视频一区欧美日韩| 亚洲欧美日韩综合国产aⅴ| 国精品一区二区三区| 久久久国产精品一区二区中文| 欧美日韩在线观看首页| 色偷偷偷在线视频播放| 高清av不卡| 午夜精品久久久久久久久久蜜桃| 在线观看精品| 欧美日韩国产欧| 视频一区二区国产| 亚洲精品高潮| 久久精品凹凸全集| 免费在线观看一区| 午夜av不卡| 不卡视频在线| 免费的成人av| 欧美一区久久| 国产精品亚洲二区| 国产成人精品一区二区三区免费| 色黄视频在线观看| 国产一区视频在线观看免费| 99在线精品免费视频九九视| 快she精品国产999| 日韩在线观看一区二区三区| 国产欧美日韩免费观看| 麻豆国产91在线播放| 成人美女视频| 在线国产一区二区| 综合精品一区| 国产伦精品一区二区三区千人斩| 精品国产一区二区三区av片| 黑人精品一区| 91高清一区| 日韩国产欧美一区二区三区| 欧美91在线| 亚洲午夜在线| 日韩综合小视频| 久久精品毛片| 欧美一区三区| 亚洲综合图色| 精品国产中文字幕第一页| 久久久水蜜桃av免费网站| 国产亚洲在线观看| 日韩不卡一区二区三区| 国产精品麻豆久久| 一区免费视频| 日韩高清二区| 天堂√8在线中文| 久久国产精品99国产| 国产精品久久| 美女少妇全过程你懂的久久| 亚洲精品大全| 精品美女久久| 国产精品日韩久久久| 国产日韩三级| 欧美一区久久久| 三级久久三级久久久| 国产一区二区三区久久久久久久久| 亚洲午夜av| 国产亚洲精品美女久久| 久久视频精品| 国产精品亚洲四区在线观看 | 欧美日韩视频免费看| 日本在线精品| 91伊人久久| 亚洲精品99| 欧美国产三级| 亚洲激情二区| 精品久久久网| 亚洲精品看片| 亲子伦视频一区二区三区| 日韩激情综合| 亚洲福利专区| 欧美aa在线视频| 性色av一区二区怡红| 日韩综合在线| 欧美亚洲一级| 日韩午夜在线| 国产自产自拍视频在线观看| 日韩欧美三区| 在线日韩视频| 久久精品五月| 香蕉久久一区| 婷婷中文字幕一区| 精品色999| 少妇精品久久久一区二区| 久久国产影院| 日本一区二区免费高清| 日韩高清不卡在线| 亚洲成人一区| 精品三级av在线导航| 日韩国产在线一| 狠狠色综合网| 久久精品国语| 国产中文在线播放| 国产精品一线| 亚洲九九精品| 在线一区免费观看| 日韩一区欧美| 国内精品伊人| 国产日韩欧美一区在线| 男女激情视频一区| 国产综合激情| 日本高清不卡一区二区三区视频| 欧美日本精品| 亚洲一区二区三区久久久| 欧美日韩一区二区三区视频播放| 精品久久电影| 久久尤物视频| 国产日韩欧美三级| 日韩va亚洲va欧美va久久| 蜜桃视频一区二区三区| 国产精品免费看| 米奇777超碰欧美日韩亚洲|