色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

acrilog入門:用Python JSON日志告別排查噩夢

acrilog入門:用Python JSON日志告別排查噩夢 說實(shí)話剛接觸 Python 日志這塊時(shí)我一度覺得 acrilog 這名字挺冷門但它解決的是線上服務(wù)最讓人頭疼的問題之一日志不好查。先說結(jié)論如果你的 Python 服務(wù)部署到服務(wù)器以后還在用默認(rèn)的 logging 輸出“時(shí)間-級(jí)別-消息”這樣的明文日志那在故障排查、日志采集、告警分析的時(shí)候大概率會(huì)被折騰到懷疑人生。尤其當(dāng)請求量大起來以后日志里每一行都有換行、縮進(jìn)、堆棧信息想從里面按字段篩選簡直是災(zāi)難。acrilog 就是一個(gè)把 Python 標(biāo)準(zhǔn) logging 輸出改造成單行 JSON 的小封裝輕量、無侵入幾行代碼就能讓日志從“給人看”變成“既給人看也順便給機(jī)器看”。這篇文章我會(huì)圍繞標(biāo)題里的三個(gè)關(guān)鍵詞展開acrilog 的語法調(diào)用方式、init() 的核心參數(shù)拆解以及幾個(gè)我在真實(shí)項(xiàng)目里用到的實(shí)際應(yīng)用案例。還會(huì)附上自己踩過的坑和排查思路按我們寫代碼的慣例先給結(jié)論再給過程能幫你少走彎路。1. 初識(shí) acrilog整體設(shè)計(jì)與核心思路1.1 acrilog 到底做了什么acrilog 的本質(zhì)不是一個(gè)全新的日志框架而是對 Python 標(biāo)準(zhǔn)庫 logging 的一次“格式化升級(jí)”。它主要做的事情可以拆成三塊接收你的配置參數(shù)比如服務(wù)名、日志文件名、日志級(jí)別、是否同時(shí)輸出到控制臺(tái)在 logging 體系里注冊一套 JSON Formatter把原本一行純文本的日志記錄轉(zhuǎn)成一個(gè) Python dict再通過 json.dumps 變成一行 JSON 字符串寫入目標(biāo)位置可以是文件也可以是控制臺(tái)或者兩者同時(shí)你可以把它理解為“給 logging 換了一身輸出皮膚的皮膚包”。Python 的 logging 本身是分層架構(gòu)Logger、Handler、Formatter 各司其職acrilog 做的事情就是幫你把 Handler 和 Formatter 裝好讓你不用手動(dòng)去組裝那一堆配置代碼。為什么說它無侵入因?yàn)槟阍跇I(yè)務(wù)代碼里依然是用 logging.getLogger(app.order) 這種標(biāo)準(zhǔn)寫法根本不需要引入 acrilog 的日志類。acrilog 只負(fù)責(zé)在程序啟動(dòng)的時(shí)候初始化一次后面的所有日志調(diào)用照舊。這意味著你想在項(xiàng)目里引入它不需要把已有的日志調(diào)用全部改一遍風(fēng)險(xiǎn)很小。1.2 為什么 JSON 日志如此重要很多人覺得日志只要能打出來就行文本格式也挺清晰的。我舉個(gè)實(shí)際例子你有一條訪問日志明文可能是這樣2024-11-11 10:00:00,123 - INFO - api access - user_id1024 cost230ms看起來還算整潔對吧但當(dāng)你想統(tǒng)計(jì)今天的平均耗時(shí)、按 user_id 篩選某個(gè)用戶的全部請求、或者把日志導(dǎo)入 Elasticsearch 做聚合分析的時(shí)候傳統(tǒng)文本就麻煩了。你需要寫正則從字符串里摳字段字段一多正則就變成天書而且只要日志內(nèi)容稍微有點(diǎn)格式變化正則立刻失效。換成 JSON 之后日志變成這樣{app: user-service, logger: app.api, level: INFO, time: 2024-11-11T10:00:0008:00, user_id: 1024, cost_ms: 230, msg: api access}Elasticsearch、Loki、ClickHouse 這些日志系統(tǒng)拿到 JSON 以后可以直接解析字段不需要 grok 規(guī)則不需要正則提取mapping 自動(dòng)生成查詢的時(shí)候點(diǎn)字段名就行。這就是結(jié)構(gòu)化日志最大的價(jià)值讓機(jī)器能讀懂日志。而 acrilog 就是幫你把標(biāo)準(zhǔn)庫輸出快速改造成結(jié)構(gòu)化格式的最省事方案。1.3 為什么選 acrilog 而不是自己封裝有人可能會(huì)說JSON 日志我自己寫個(gè) Formatter 也不難何必用第三方包確實(shí)一個(gè)自定義 JSON Formatter 大概幾十行就能寫完。但自己封裝容易忽略幾個(gè)細(xì)節(jié)異常堆棧的格式化、時(shí)間戳?xí)r區(qū)處理、中文編碼問題、多 handler 的重復(fù)輸出問題、日志文件輪轉(zhuǎn)和目錄創(chuàng)建等。acrilog 把這些邊界情況提前處理好了。更關(guān)鍵的是acrilog 走的是正統(tǒng) logging 體系不是造輪子。它的配置入口只有一個(gè)函數(shù)使用成本低出問題的時(shí)候你可以隨時(shí)翻源碼或者退回標(biāo)準(zhǔn)庫方案。對中小型項(xiàng)目來說這是性價(jià)比最高的選擇。2. 安裝與基礎(chǔ)用法先把最小配置跑起來2.1 安裝環(huán)境準(zhǔn)備acrilog 是純 Python 包安裝方式和其他包沒什么兩樣pip install acrilog建議在虛擬環(huán)境里安裝避免污染系統(tǒng) Python。我實(shí)測常見的 Python 3.8、3.9、3.10 環(huán)境都沒問題Python 3.7 及以下版本我沒有驗(yàn)證過如果你用的是老版本建議先升級(jí)解釋器版本。裝完以后驗(yàn)證一下是否成功python -c import acrilog; print(acrilog.__version__)如果能正常輸出版本號(hào)說明安裝沒問題。2.2 最小可運(yùn)行配置最基礎(chǔ)的用法在程序入口處調(diào)用 acrilog.init() 就行import logging import acrilog acrilog.init( app_namedemo-service, file_namelogs/demo.log, levelINFO, ) logger logging.getLogger(app.main) logger.info(service started)這段代碼做的事情是初始化 acrilog把日志寫入 logs/demo.log 文件日志級(jí)別為 INFO然后測試輸出一條消息。打開日志文件看到的應(yīng)該是一行 JSON 格式的日志。這個(gè)文件里包含的時(shí)間、logger 名、級(jí)別、消息、代碼調(diào)用位置等字段就是日志系統(tǒng)最喜歡的東西。這里要提醒的一點(diǎn)是如果你傳的 file_name 帶子目錄先確認(rèn)目錄已經(jīng)存在。我遇到過某些版本不會(huì)自動(dòng)創(chuàng)建父目錄直接報(bào) FileNotFoundError排查時(shí)很容易忽略這個(gè)細(xì)節(jié)。安全起見可以先寫一句import os os.makedirs(logs, exist_okTrue)2.3 讓日志同時(shí)輸出到控制臺(tái)和文件默認(rèn)情況下acrilog 只寫文件。很多人在本地調(diào)試時(shí)希望控制臺(tái)也能看到日志這時(shí)需要加一個(gè) stream 參數(shù)acrilog.init( app_namedemo-service, file_namelogs/demo.log, streamTrue, levelDEBUG, )streamTrue 表示同時(shí)把日志輸出到控制臺(tái)。注意控制臺(tái)輸出的也是 JSON 格式因?yàn)?acrilog 的邏輯就是“統(tǒng)一格式”。如果你希望控制臺(tái)保持人能看懂的明文、文件里存 JSON那單靠 acrilog 的默認(rèn)配置做不到需要自定義 Handler后面我講案例時(shí)會(huì)提到。關(guān)于日志文件的大小我曾經(jīng)算過一筆賬假設(shè)每個(gè)請求產(chǎn)生兩條日志一條訪問日志大約 300 字節(jié)單機(jī) QPS 100一天下來日志量是 2 條×300字節(jié)×100×86400秒≈5.2GB。這個(gè)數(shù)字非常可觀。所以日志文件的切割策略一定要提前想好否則磁盤被日志塞滿是遲早的事。acrilog 默認(rèn)的 filemode 是追加模式不會(huì)自動(dòng)按天切割生產(chǎn)環(huán)境建議配合系統(tǒng)的 logrotate或者干脆用 Python 的 logging.handlers.TimedRotatingFileHandler 自己搭建切割方案。3. acrilog 語法與參數(shù)深度解析3.1 先理解 acrilog 的“語法”模式acrilog 不是一門新語言它沒有自定義的 DSL。很多人第一次接觸時(shí)以為要學(xué)一套新語法其實(shí)不需要。acrilog 對外暴露的用法就是“引入 init() 配置 標(biāo)準(zhǔn) logging 調(diào)用”三段式。說它是語法不如說是一套“配置規(guī)則”。關(guān)鍵點(diǎn)在這幾個(gè)在程序入口調(diào)用 acrilog.init() 并傳入?yún)?shù)此時(shí)完成全局配置在業(yè)務(wù)模塊里繼續(xù)用 logging.getLogger() 獲取 logger完全不用關(guān)心 acrilog 的存在日志調(diào)用方式不變logger.info()、logger.warning()、logger.error() 都照常使用這套規(guī)則非常簡單沒有語法糖賣弄學(xué)習(xí)成本幾乎為零。但它有一個(gè)隱含的約定init() 必須在你的業(yè)務(wù)代碼第一次寫日志之前完成否則部分日志可能會(huì)在 acrilog 接管之前就已經(jīng)按默認(rèn)格式輸出了。3.2 init() 核心參數(shù)逐個(gè)拆解init() 是 acrilog 最重要的接口大部分問題都出在參數(shù)理解上。我把常用參數(shù)整理成一張表結(jié)合我的使用經(jīng)驗(yàn)逐個(gè)說明參數(shù)名類型默認(rèn)值作用說明app_namestr無服務(wù)名寫入 JSON 里的 app 字段用于區(qū)分日志來源module_namestr無模塊名可疊加到日志字段中方便識(shí)別模塊file_namestr有默認(rèn)日志文件名日志文件路徑建議顯式指定避免找不到文件filemodestra文件寫入模式a 追加生產(chǎn)環(huán)境不要用 wencodingstrutf-8文件編碼日志含中文時(shí)必須設(shè)為 utf-8levelstr/intINFO日志級(jí)別可用 DEBUG/INFO/WARNING/ERROR 或?qū)?yīng)數(shù)字streamboolFalse是否同時(shí)輸出到控制臺(tái)formatboolTrue是否輸出 JSON 格式置為 False 時(shí)輸出接近 logfmt 的文本datefmtstr無時(shí)間格式化字符串可按需自定義json_kwargsdict無傳給 json.dumps 的額外參數(shù)例如 ensure_ascii、indentstacklevelint1記錄日志調(diào)用位置時(shí)向上追溯的棧層數(shù)裝飾器場景會(huì)用這里挑幾個(gè)重點(diǎn)展開。level參數(shù)控制日志閾值。傳字符串 INFO 還是數(shù)字 20 效果一樣因?yàn)?logging 模塊本身就把級(jí)別名映射到數(shù)值。我習(xí)慣用字符串代碼可讀性更高。注意 DEBUG 級(jí)別在線上慎開它會(huì)輸出海量細(xì)節(jié)磁盤壓力非常大。format參數(shù)是 acrilog 的靈魂。默認(rèn) True 表示輸出 JSON。如果你把它設(shè)為 False日志會(huì)變成類似2024-11-11 10:00:00 INFO [app.main] service started這種接近標(biāo)準(zhǔn)庫的格式。在一些還沒有日志采集系統(tǒng)的項(xiàng)目里這個(gè)模式可以作為過渡方案。json_kwargs是一個(gè)容易被忽略但非常重要的參數(shù)。比如日志里有中文json.dumps 默認(rèn)會(huì)做 ASCII 轉(zhuǎn)義輸出變成\u4e2d\u6587人眼完全沒法看。解決辦法是傳acrilog.init( ..., json_kwargs{ensure_ascii: False} )這樣中文就能正常顯示。如果你對接的是日志系統(tǒng)建議不要傳 indent 縮進(jìn)保持單行輸出方便 Filebeat 這類采集器按行讀取。我在本地調(diào)試時(shí)會(huì)臨時(shí)加 indent2人眼看結(jié)構(gòu)方便但線上我一定去掉。3.3 參數(shù)組合與動(dòng)態(tài)調(diào)整參數(shù)之間不是孤立的選型時(shí)要考慮實(shí)際場景。我總結(jié)了幾組常用組合本地開發(fā)streamTruelevelDEBUGjson_kwargs 加 indent方便觀察測試環(huán)境streamFalselevelINFOfile_name 指向獨(dú)立的 test 日志目錄生產(chǎn)環(huán)境streamFalselevelINFOfile_name 按天命名配合日志輪轉(zhuǎn)有些項(xiàng)目需要?jiǎng)討B(tài)調(diào)整日志級(jí)別比如線上出問題時(shí)想臨時(shí)把某個(gè)模塊切到 DEBUG。acrilog 自身不提供運(yùn)行時(shí)改級(jí)別的接口但你可以直接操作標(biāo)準(zhǔn)庫import logging logging.getLogger(app.order).setLevel(DEBUG)因?yàn)?acrilog 并沒有脫離 logging 體系所以標(biāo)準(zhǔn)庫的很多玩法它都天然支持。這個(gè)點(diǎn)很多人不知道遇到“項(xiàng)目里能否運(yùn)行時(shí)調(diào)日志級(jí)別”的問題時(shí)直接用標(biāo)準(zhǔn)庫方法就行。還有一個(gè)小技巧如果你想在日志里看到更多調(diào)用上下文比如是哪個(gè)業(yè)務(wù)函數(shù)寫的日志可以調(diào)高 stacklevel。例如在裝飾器或工具函數(shù)里記錄日志時(shí)默認(rèn) stacklevel1 會(huì)指到工具函數(shù)本身改成 2 或 3 可以讓日志文件里的代碼位置指向真正調(diào)用業(yè)務(wù)邏輯的地方。3.4 自定義擴(kuò)展點(diǎn)Formatter 與 Handleracrilog 不萬能遇到定制化需求時(shí)你依然可以回到 logging 的生態(tài)里補(bǔ)刀。比如你想要控制臺(tái)是明文、文件是 JSON就可以這么做import logging import acrilog from acrilog.formatter import JSONFormatter acrilog.init(app_namedemo, file_namelogs/demo.log, streamFalse) root_logger logging.getLogger() console_handler logging.StreamHandler() console_handler.setFormatter(logging.Formatter(%(levelname)s - %(message)s)) root_logger.addHandler(console_handler)核心思路是先用 acrilog 把 JSON 文件輸出配好再額外掛一個(gè) StreamHandler用標(biāo)準(zhǔn) Formatter 輸出明文。由于兩個(gè) Handler 的 Formatter 不同文件是 JSON、控制臺(tái)是明文互不影響。如果你是重度定制用戶建議花十分鐘看一下 acrilog 源碼里的 formatter.py弄清楚 JSON 字段是怎么組裝起來的這樣加自定義字段、改字段名、過濾字段都游刃有余。它不復(fù)雜就是遍歷 LogRecord 的屬性再 json.dumps 一下。4. acrilog 實(shí)際應(yīng)用案例4.1 案例一FastAPI 接口服務(wù)接入FastAPI 是目前很火的 Web 框架我把 acrilog 接入過多個(gè) FastAPI 服務(wù)流程很固定。先看代碼import logging import os from fastapi import FastAPI import acrilog os.makedirs(logs, exist_okTrue) acrilog.init( app_nameuser-service, file_namelogs/user_service.log, levelINFO, json_kwargs{ensure_ascii: False}, ) logger logging.getLogger(app.api) app FastAPI(titleuser-service) app.get(/health) def health(): logger.info(health check called) return {status: ok} app.get(/users/{user_id}) def get_user(user_id: int): logger.info(fetch user info, extra{user_id: user_id}) return {user_id: user_id, name: test}接入點(diǎn)有兩個(gè)入口處 init() 一次業(yè)務(wù)代碼里照常用 logger。需要注意 extra 參數(shù)的問題。我在實(shí)際測試中發(fā)現(xiàn)extra 里的字段是否會(huì)出現(xiàn)在最終的 JSON 輸出里取決于你安裝的 acrilog 版本里 JSONFormatter 的實(shí)現(xiàn)。有些版本會(huì)把 extra 合并進(jìn) JSON有些版本不會(huì)。所以如果你依賴自定義字段做查詢一定要先寫一段代碼驗(yàn)證一下logger.info(test extra, extra{request_id: abc123})然后去日志文件里 grep 一下 request_id。如果日志里沒有這個(gè)字段有兩個(gè)解決辦法一是把字段拼進(jìn) message 字符串二是自定義一個(gè) Formatter把 LogRecord 的dict全部展開到 JSON 里。我個(gè)人更推薦第二種因?yàn)檫@樣日志字段更統(tǒng)一。4.2 案例二多模塊多文件分離有的項(xiàng)目模塊分工明確比如訂單模塊、用戶模塊、支付模塊希望日志分開存文件。acrilog 默認(rèn)是一個(gè)配置文件一把梭不會(huì)自動(dòng)按模塊區(qū)分離文件但你可以自己構(gòu)建。方案是這樣的先通過 acrilog 初始化默認(rèn)配置然后對需要單獨(dú)文件的 logger手動(dòng)掛一個(gè)帶 JSON Formatter 的 FileHandlerimport logging import acrilog from acrilog.formatter import JSONFormatter acrilog.init(app_nameshop, file_namelogs/main.log, levelINFO) order_logger logging.getLogger(app.order) order_file_handler logging.FileHandler(logs/order.log, encodingutf-8) order_file_handler.setFormatter(JSONFormatter()) order_logger.addHandler(order_file_handler)這樣 order_logger 的日志會(huì)同時(shí)寫到主日志和 order.log 里。如果你不希望重復(fù)寫可以把 order_logger 的 propagate 設(shè)置為 False讓它不再向 root 傳遞order_logger.propagate False這個(gè)操作相當(dāng)于為某個(gè) logger 建立了一條獨(dú)立的日志通道適合專題類日志比如支付回調(diào)、第三方接口調(diào)用。這些日志單獨(dú)存放排查時(shí)直接翻獨(dú)立文件效率提高很多。4.3 案例三對接 ELK 或 Loki 日志采集服務(wù)跑起來以后日志最終要送到日志平臺(tái)。最常見的是用 Filebeat 采集日志文件然后送到 Elasticsearch。acrilog 在這里的價(jià)值非常明顯因?yàn)檩敵鍪菃涡?JSONFilebeat 不需要任何解析規(guī)則直接按 JSON 采集就行。一個(gè)最小可用的 filebeat.yml 配置片段長這樣filebeat.inputs: - type: log enabled: true paths: - /data/logs/*.log json: keys_under_root: true add_error_key: true output.elasticsearch: hosts: [localhost:9200]注意 json.keys_under_root 這個(gè)參數(shù)它表示把 JSON 里的字段直接映射到文檔的根級(jí)別查詢時(shí)可以直接用 level、app、logger 這些字段做過濾。如果用的是 Loki Promtail配置也類似Promtail 對于 JSON 日志可以通過 json 解析器提取標(biāo)簽scrape_configs: - job_name: demo static_configs: - targets: [localhost] labels: job: demo __path__: /data/logs/*.log pipeline_stages: - json: expressions: level: level app: app這里的 json 表達(dá)式就是把 acrilog 輸出的 JSON 字段映射成 Loki 的 label。沒有 acrilog 的話這一層解析會(huì)痛苦得多尤其在字段多、嵌套深的情況下。4.4 案例四把第三方組件的訪問日志也統(tǒng)一成 JSON我在實(shí)際項(xiàng)目里遇到一個(gè)很煩的情況業(yè)務(wù)日志通過 acrilog 全部 JSON 化了但 FastAPI 底層用的 uvicorn 訪問日志還是老樣子。日志平臺(tái)里一半是 JSON一半是純文本檢索時(shí)體驗(yàn)割裂。解決思路是把 uvicorn 相關(guān) logger 的默認(rèn) handler 清掉讓它們把日志傳播給 root logger由 root 上的 acrilog Handler 統(tǒng)一輸出 JSON。import logging import acrilog acrilog.init(app_nameapi-gateway, file_namelogs/access.log, levelINFO) for name in (uvicorn, uvicorn.error, uvicorn.access): log logging.getLogger(name) log.handlers.clear() log.propagate True清掉 handler 以后uvicorn 的日志會(huì)向上傳播到 root loggerroot logger 上掛著 acrilog 的 JSON Handler于是所有訪問日志都被改造成 JSON 格式。實(shí)測下來效果很好日志平臺(tái)里格式完全統(tǒng)一了。這里有一個(gè)注意點(diǎn)清 handler 的操作必須在 uvicorn 開始打印訪問日志之前完成所以最好放在入口模塊的最前面。另外如果你關(guān)閉了 uvicorn 的 access log上面的操作對訪問日志無效因?yàn)楦緵]有日志產(chǎn)生。5. 常見問題與排查技巧實(shí)錄5.1 六個(gè)高頻問題速查現(xiàn)象可能原因解決辦法日志文件沒生成file_name 目錄不存在或權(quán)限不足先創(chuàng)建目錄確認(rèn)進(jìn)程對目錄有寫權(quán)限中文變成 \uXXXXjson.dumps 默認(rèn) ASCII 轉(zhuǎn)義init 時(shí)傳 json_kwargs{ensure_ascii: False}控制臺(tái)輸出亂糟糟的 JSON 串streamTrue 導(dǎo)致控制臺(tái)也輸出 JSON關(guān)掉 stream自定義一個(gè)明文 StreamHandler日志重復(fù)出現(xiàn)兩遍init() 被調(diào)用多次root 掛了多個(gè) handler保證 init 只調(diào)用一次重復(fù) handler 時(shí)先清 root.handlers第三方庫日志還是明文第三方用了自己的 logger 或 handler清除對應(yīng) logger 的 handlers設(shè)置 propagateTrue日志級(jí)別調(diào)整不生效init 之后又用 basicConfig 重置了 root不要在 init 后調(diào)用 basicConfig用 logger.setLevel 調(diào)節(jié)這里面有一個(gè)坑特別常見不少人習(xí)慣在代碼某處順手調(diào)了 logging.basicConfig()這個(gè)函數(shù)會(huì)在 root logger 上再注冊一個(gè) handler輕則導(dǎo)致日志重復(fù)輸出重則把 acrilog 配置的 JSON Formatter 覆蓋掉。排查時(shí)如果發(fā)現(xiàn) JSON 格式突然失效優(yōu)先懷疑是不是有人調(diào)了 basicConfig。還有一個(gè)關(guān)于 streamTrue 的體驗(yàn)問題。開發(fā)時(shí)開著 stream 確實(shí)爽但控制臺(tái)輸出的 JSON 字符串通常很長日志一多眼都花了。我的習(xí)慣是本地調(diào)試時(shí)把 json_kwargs 里加 indent2線上再改回單行。雖然多寫幾行配置但調(diào)試體驗(yàn)提升明顯。5.2 排查思路與避坑筆記如果你已經(jīng)接入 acrilog卻發(fā)現(xiàn)日志行為不符合預(yù)期我的排查順序通常是這樣第一步用最精簡的腳本復(fù)現(xiàn)。單獨(dú)寫一個(gè) py 文件只做 init 和一條 INFO 輸出看結(jié)果對不對。如果最小復(fù)現(xiàn)正常說明問題出在業(yè)務(wù)代碼里比如 init 被多次調(diào)用、某個(gè) logger 被單獨(dú)設(shè)置了 handler。如果最小復(fù)現(xiàn)也不正常多半是版本問題或安裝問題重新確認(rèn) acrilog 版本和 Python 版本。第二步檢查 logger 的傳播關(guān)系。Python logging 的日志傳遞符合“子 logger 沒有 handler 就往父級(jí)傳播”的規(guī)則。你寫 logger logging.getLogger(app.order) 時(shí)如果 app.order 這個(gè) logger 本身有 handler消息就不會(huì)往 root 走acrilog 配置的 JSON Handler 自然收不到。很多“JSON 格式只對部分模塊生效”的問題都出在這里。第三步看 JSON 里的時(shí)間字段。默認(rèn)輸出的時(shí)間有時(shí)帶微秒和時(shí)區(qū)信息這對接入 Elasticsearch 很友好但如果你的日志系統(tǒng)對時(shí)間格式有要求就需要自己調(diào) datefmt。舉個(gè)例子我希望日志時(shí)間精確到毫秒且?guī)r(shí)區(qū)可以設(shè)置acrilog.init( ..., datefmt%Y-%m-%dT%H:%M:%S.%f%z )這個(gè)格式是 ISO 8601 風(fēng)格Elasticsearch 可以直接識(shí)別不用另外做日期格式轉(zhuǎn)換。再說一個(gè)容易被忽略的生產(chǎn)問題日志文件切割。acrilog 本身不做按大小或按天的自動(dòng)輪轉(zhuǎn)生產(chǎn)環(huán)境日志量一大日志文件會(huì)變成一個(gè)幾十 GB 的巨型文件到時(shí)候別說采集了連打開文件排查都卡。我的做法是把 acrilog 輸出的日志文件名設(shè)計(jì)成帶日期的固定命名比如 logs/app-20241111.log然后交給系統(tǒng)的 logrotate 或其他日志輪轉(zhuǎn)工具去處理。如果你不太想在系統(tǒng)層面配置可以在代碼里手動(dòng)調(diào)用 TimedRotatingFileHandler 完成輪轉(zhuǎn)from logging.handlers import TimedRotatingFileHandler handler TimedRotatingFileHandler( logs/app.log, whenmidnight, backupCount7, encodingutf-8 )設(shè)置 backupCount7 表示只保留最近 7 天的日志。這個(gè)數(shù)值怎么定我建議根據(jù)你的磁盤容量和單日日志量算一下寧可多留兩天也不要因?yàn)槿罩颈磺宓魧?dǎo)致丟了關(guān)鍵排查線索。5.3 用 jq 快速排查 JSON 日志日志全部變成 JSON 之后日常排查其實(shí)變得更爽了因?yàn)槟憧梢灾苯佑?jq 命令做結(jié)構(gòu)化篩選。這在服務(wù)器上沒有 Kibana、沒有 Loki 的情況下尤其好用。比如我想找出今天所有 ERROR 級(jí)別的日志cat logs/app.log | jq -c select(.level ERROR)想看某個(gè)用戶 ID 相關(guān)的日志cat logs/app.log | jq -c select(.user_id 1024)按時(shí)間范圍過濾cat logs/app.log | jq -c select(.time 2024-11-11T00:00:00) | {time, level, msg}這一套操作在線上應(yīng)急排查時(shí)非常高效。以前我遇到問題都是 grep 一串字符串再對著多行明文日志猜結(jié)構(gòu)現(xiàn)在直接 jq 一條命令結(jié)果一目了然。這也算是我用了 acrilog 之后意外收獲的一個(gè)排查習(xí)慣。提示jq 是 Linux 環(huán)境下的 JSON 處理命令行工具沒有的話用 yum install jq 或 apt install jq 裝一下幾十 KB 的大小排查日志非常值。寫在最后的一點(diǎn)體會(huì)acrilog 這個(gè)包不大代碼量也不算多但它在“讓日志從人能看變成機(jī)器也能看”這件事上幫我省了非常多的時(shí)間。我在幾個(gè)生產(chǎn)項(xiàng)目里接入之后最大的感受是去日志平臺(tái)檢索問題時(shí)不再依賴正則和字符串匹配直接按字段拖拽組合查詢排查效率提升了一個(gè)量級(jí)。如果你只是一個(gè)小腳本、一個(gè)一次性的任務(wù)用不用 acrilog 都無所謂但只要你做的是長期運(yùn)行的服務(wù)或者已經(jīng)接入了日志采集平臺(tái)我非常建議花十分鐘把日志切換到 JSON 格式。acrilog 是一個(gè)不錯(cuò)的起點(diǎn)它的學(xué)習(xí)成本幾乎為零退出成本也低——就算將來不滿足需求你也能輕松回到標(biāo)準(zhǔn) logging 生態(tài)里做自定義改造。最后再分享一個(gè)小技巧接入 acrilog 之后可以在項(xiàng)目的初始化腳本里加一句自檢日志輸出 acrilog 的版本號(hào)和當(dāng)前配置。這樣你排查問題的時(shí)候第一眼就能判斷線上跑的是哪個(gè)版本的包、配置是否生效避免在版本不一致上花時(shí)間。項(xiàng)目越來越大以后這個(gè)習(xí)慣能幫你省掉很多無謂的猜測。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国模无码人体一区二区三| 亚洲国产精品无石码久久| 78精品在线| 国产成人99久久亚洲综合| 九九色影院| 97一区二压| 国产精品人妻无码久久久互動交流| 中文字幕亚洲热播人妻| 亚洲激情色片| 国模私拍一区二区三区神乳| 久久久久网站-538在线视频-欧美永久乱码 | 亚洲欧美综合图片| 国产精品久久成人免费| 欧美日韩一干二干| 日韩欧美操逼xxx| 啊嗯好大视频在线观看| a片久久久久久久久久久久| 欧美性天天影视| 天堂av最新电影网| 99热只有这里有精品| 久久精品中文| 日本操嫩b网| 男女激情中文字幕| 亚洲综合精品国产一区| 国产精品乱码久久久、久久| 家庭乱伦性爱av| 美女高潮视频91| 女人天堂av在线播放| 亚洲.欧美.丝袜.中文.综合| 亚洲国产成人精品女人久久久| 熟女性视频| 男人的天堂99| 97久久精品亚洲| 男人天堂2030| 久久久亚洲精品电影免费看| 家庭乱伦国产| dy888午夜老子影视达达兔| 亚洲操逼无码| 久久欧美激情| 用力操死我| 国产福利视频精品视频| 九色 蝌蚪 熟女自 | 东京热,男人的天堂| 色婷婷久久| 五月丁香六月综合缴清无码 | 在线日韩日本亚洲国产| 亚洲97P| 麻豆视频国产一区二区| 九九超碰综合网| 两性综合网| 亚洲欧美999| 天操老女人| 午夜高清成人在线视频| 啪啪啪亚欧美视频| 搞中出视频在线观看| 日韩精品在线视频在线观看| 夜夜爽爽夜夜精品视频| 伊人久久艹| 美女91| 思思99热| 18禁网站在线播放| 97K超碰在线| 九九毛片这里只有精品| 91丨九色丨国产丨人妻在线 | 青娱乐久久艹| 懂色av一区二区三区天美传媒| 丁香婷婷激情五月天无毒不卡 | 秋霞成人一级在线观看| 97操b| 96国产污污污丝袜| 97AV在线免费观看| 婷婷亚洲中文字幕在线| 国产成人bd在线观看| 色牛aV| 无码操逼网| 色爽爽文学| 九九视频黄色片| 天天干18禁| 97超视频在线观看| 亚洲 中文 女同| 欧美日韩亚洲一区二区在线观看| 少妇500双飞99| 试看福利| 草b在线| 国产精品无套内谢| 最新av网站在线观看| 欧洲精品二区| 97伊人| 东京热91| 97操碰| 性交一区二区在线播放| 91网站18在线观看| 91久久伊人婷婷青青草| 亚洲国产剧情少妇激情| 国产11页| 综合影院亚洲| 日韩素人无码一区二区三区三州| 天天综合亚在线| 一级A啪啪啪啪| 国产精品免费视频人成| 国产成人在线观看综合| 激情看片网站| 激情综合五月天| 国产三级中文字幕粉嫩| 国产精品乱码久久久久久久| 亚洲交换| sewuyueav| 欧美翘臀视频网站一区二区三区| 人人妻人人爽一区二区三区| 欧美在线天堂| 日本不卡二区| 免费精品中文字幕| 国产小视频91| 丁香六月婷婷综合| 精品久久久久9999| 99xav| 99久在线精品99re8a| 情色五月天网| 97情超碰色| 亚洲91射| 东京热综合久久一区二区| 97久久超碰日韩精品| 一区二区三区一亚洲中文字幕、综合区灬 | 国产高清精品一区二区三区毛片| 人妻丰满熟妇一区二区三| jizz啪啪| 国内毛片婷婷六月色| 人人摸人人摸人人干| 日日操丁香五月天| a久久| 国产熟女少妇一区| 中国一区二区亚洲人妻| 久久人妻办公室视频| 日本天堂网| 亚洲限制级| 少妇激情AV| 啊啊啊啊免费视频| 影音先锋乱伦资源| 美女诱惑爱爱| 91在线一起| 亚洲天堂2020| 高清无码 国产精品| 亚洲欧洲另类| 色777999综合| 韩国手机不卡无码三级视频| 日韩啪啪视频| 嫩草影院永久在线制服丝袜| 另类老少妇| 国产一级高清免费观看| 伦伦成年午夜免费视频| 狠狠中文字幕| 射丝袜大香蕉| 新亚洲无码| 国精精品无码一二三区水多多| 九九色图| 欧美成人国产精品| 日韩性爱啪啪视频| 久久激情视频| 欧美日日人人天天| 韩国手机不卡无码三级视频| 色五月婷婷在线| 国模不卡一本二本三电影| 91精品婷婷国产综合久久| 国产白丝av| 玖色av| 国产无码久久高清| 五月天激情网站| 久久久99999久网站| 精品玖九九久| 欧美精品自慰系列寂寞少妇| 久久一二三四不卡| 一级黄色性爱裸体视频| 口爆综合网| 91亚洲丝袜| 日韩字幕一区| 欧美日韩免费专区在线| 韩美日操逼| 亚洲精品 大香蕉| nuu12国产麻豆精品| 国产精品久久久久久高清无码免费看 | 亚洲综合九| 欧美亚洲情色| 狠狠干,狠狠操| 久久久久久99999国产精品| 久久双插| 欧美激情超碰777| 精品黄色电影| 91色艳| 一本大道久| 国产色精品午夜大片| 射欧美综合| 搡老女人老91妇女老熟女| 激情综合五月| 熟女少妇一区二区三区| 亚洲AV免费在线观看| 天天综合青苹果| 国产97色在线| 中文字幕丝袜| 一道本久久棕合爱| 日韩精品碰碰| 国产9熟妇视频网站| 中国国国产一级特黄毛片| 10000部十八禁看电影| 亚洲熟女乱色一区二区三区 | 国产精品日日摸天天碰| 91九色首页| 人妻激情视频| 亚洲欧洲美腿丝袜| 欧美日韩另类在线| 亚欧操逼片在线观看| 日本99久久| 91色夜| 中文字幕一二三区| 亚洲?V无码专区在线电影| 鸥美精品一区二区久久婷婷| jizzjizz欧美| 小说区 图片区色 综合区| 麻豆福利视频导航| A片 AV一级在线播放观看免费| 91美女国产在线| 亚洲国产高清福利视频| 天天综合97| 色眯眯射| 国产成人无码网站在线视频| 性色AV网站| 精品人妻一区二区乱码一区二区| 粉嫩av在线一区二区| 国产久久天堂资源| 九九九影院| 96久久精品一二三区色欲| 九久久九九久视频| 日韩精品第3页| 五月天婷精品激情| 思思久热在线精品66| 蜜臀AV成人精品蜜臀| 亚洲国产一级精品毛一级精品看免费视频| 96国产精品| 中日无幕一二三四区| 欧美一级久久久丰满| 999国产精品999久久久久久| 国产污视频麻豆传媒一区二区 | 国产精品一二三区18| 亚洲国产精品久久久男人的天堂| 91GD.COM| 国产精品蜜臀久久久久无码AV| 美女网站黄页| 少妇无码av专区线| 久久尹人大香焦视| 日产123区精品免费观看| 亚洲欧美经典一区二区 | 无卡一区=区| 性色avv| 国产综合永久精品日韩鬼片| 色婷婷六月丁香七月婷婷| 中文字幕一品色图| 二三四区精品| 二对二中文字幕。| 97舔舔| www.人人cao| 在线亚洲 欧美 日本专区| 超碰精品97| 日韩无码AB| 日本天堂网| 久久小视频| 自拍偷拍 日韩无码| 狠狠婷婷亚洲中文综合久久| 国产三级中文字幕粉嫩| 精品999日本| 人人手机欧洲亚洲国产人妻| 亚洲激情AV| 亚洲啪啪视频一区二区| 成人小说视频在线精品欧美| 精品人妻一二三| 啊啊啊慢点| 欧美日韩国产色五月综合在线| 情色五月天久久久| 人人澡人人爽人人精品| 性色乱AV一区二区| 日本久久久久久久久| 大香蕉五月天| 欧美视频在线视频免费va| 国产精品欧美日韩久久| 亚洲囯产精品女人久久久| 亚洲 欧美 精品专区 极品| 婷婷久月| 亚洲情色综合| WWW.操逼.COM| 18禁看网站一区| 91网站18禁| 欧美综合中文| 我要色综合网| 91丝袜熟女| 久久av色| 欧美天堂亚洲电影院一区在线播放 | 亚洲一卡二卡在线免费| 色欲三区| 国产亚洲女v在线观看| 综合国产影视三级| 日韩欧美tv一区二区在线观看| 日韩综合无码色欲vv| 免费自拍三级综合| 26uuu国产日韩综合在线观看| 黄色AAAAA欧美| 中国女人内射6XXXXX| 夜间福利片1000无码| 日韩一级特黄av毛片| 一本一道波多野毛片中文在线| 欧美aaaaaaa| 亚洲97久久精品亚洲| 男人a天堂手机在线版| 日本五十路熟女一区二区| 欧美日韩一区二区三区四区蜜桃| 日韩成人性爱电影在线播放| 婷婷四五区| 肉丝网站91| 91高跟美女在线播放| 裸体美女久久久| 99re在线精品78| 97在线日韩中文字幕| 狠狠爱夜夜| 日韩欧美大片免费高清啪啪| 乱伦AVxx| 男人的天堂2019AV| 久久久久久久国产| 伊人9| 亚洲欧美碰碰| 国产精品亚洲一级av第二区| 日韩欧美性爱电影在线观看| 国产操逼视频在线观看| 色婷婷影视| 免費人妻夜夜爽天天爽爽一区| 亚洲精品不卡一二三区| 亚洲人妻爽爽爽| 青青操网| www超碰| 久久久av爱| 精品美女少妇一区二区| 久久黄片国产一区二区| 久久大香蕉| 蜜臀99999| 舔人妻中文免费视频| 国产精品诱惑| 91爆操视频| 欧美日韩高潮喷水91| 中文幕97| 国产精品视屏| 男人的天堂一区三区| 精品少妇后入一区二区三区四区人妻巨乳| 加勒比日本在线| 国产欧美另类久久久精品课程| 收看日本人日bb| 五月婷丁香| 丰满人妻一区二区中文| 无码久久国产| 国产精品青青草| 日韩BBN| 成在线人在线观看视频| 97人妻色| 欧美97爱| 国产成人网| 高清不卡 中文 人妻| 精品人妻免费观看| 加勒比无码一区二区三区| 另类专区加勒比| 国产精品日韩在线一区| 91P0RNY大屁股人妻| 120分钟婬片免费看| 青青草字幕AV| 无码高清专| 成人五月天色网| 亚洲av性爱电影| http://qxhbdz.com| 精品人妻一区二区蜜桃视频| 先锋色眉乱伦资源| 欧美天堂超碰97| 操逼网站网站| 91在线欧色| 亚洲精品99999| 中出91| 热热色青青草| www.五月天| 亚洲av资源| 人妻少妇av在线观看| 亚洲少妇激情一区二区三区| 探花激情视频| 大茄子熟女AV导航| 97人人干| 欧美97| 亚洲精品欧美专业| 久久综合国产精品国产| 日韩少妇在线视频| 操逼逼福利视频| 韩国毛片一区二区三区| 久久精品色欧美aⅴ一区二区| 九九九热精品| 人妻av在线| 先锋女优在线观看视频| 精品人妻一区二区三区-国产| 欧美成人一级麻豆| 欧美综合网1| 天天视频黄网站| 在线色资源| 99久久婷婷| 福利视频网站| 大香伊人在线一区| 欧美国产伊人久久久久| 中国91AV| 中文字幕55555| 欧美日韩不卡a片| 97久久国产精品| 色色色999| 国产精品国产精品国产| 成人综合网 欧美| 国产无马视频| 男同专区一区二区三区在线| 日本中文字幕高跟| 黄片com.| 欧美黄页| 日本性一区| 五月丁香激情综合| 777AV电影| 青青草依人大香蕉| 久久偷拍人| 乱伦系列一区二区| 精品人妻一二三| 97精品国产精品免费观看| 柠檬AV导航| 波多野结衣之双飞调教在线播放| 九九九九九九免费视频| 久热69九色熟妇97| 偷看洗澡一二三区美女| 一级性爱视频免费观看 | 老司机午夜福利视频一区二区| 国产亚洲国产超碰| 久久透逼视频| 啊啊啊好舒服视频| 97国产精品久久久久 | www久久99| 少妇厨房愉情理伦片bd在线观看| 国产丝袜一区二区三区| 日韩国产十八禁| 中文字幕在线观看视频www| 午夜亚洲WWW湿好大| 91美女视频直播| 美女91在线观看| 亚洲综合小说另类图欧美视频激情小说色五月天 | 成人热久久精品| 99在线精品视频| 国产女人操逼视频| 肏逼福利网站| 亚洲97精品| 日本道日本道中文字幕日本道最新日本道在线观看 | 亚洲av无线观看| 激情黄色片在线观看| 麻豆人妻精品一区二区| 国产乱人伦AVA麻豆软件.| 国内毛片欧美香蕉精品| 午夜超碰| 97伊人网| 日日躁夜夜躁狠狠躁超爽| 超碰在97| 精品视频久久区| 国产不卡中文字幕免费avi| 色色99| 大屁股xxxxx| 欧美日韩国产中文精品字幕自在自线| 亚洲啪啪视频免费| 免费岛国一级片| 丰满人妻一区二区三区蜜桃视频| 欧美色图99| 天天日美女的B| 新97国产超碰| 干B| 少妇与黑人高潮在线| 91在线美女| 偷拍欧美激情| xxx亚洲午夜天堂| 91肏屄网| 久久免费看高潮毛片韩国| 夜夜高潮夜夜爽高清视频一| 泰国AV在线观看| 婷婷伊人一区| 台湾肥佬网一区二区三区| 亚洲情色1区| 麻豆AV一区二区| 红桃视频高潮| 亚洲激情色片| 欧美在线 亚洲| 欧美 综合 亚洲| 色偷偷超碰亚洲| 亚洲日韩97| 久久99干一本高清| 天天综合~91| av一区二区三区四区| 国产高清26uuu| 艹少妇网站| 亚洲国产日韩欧美熟妇在线| 你操综合| 91麻豆一二三区| a片偷拍视频| 放黄片放3级黄片没穿衣服| 78操B| 99热这里只有精品18| 9久精品| 亚洲黄色视频在线观看视频| 日韩无码a片| 亚洲天堂无码| 亚洲有码 视频一区| 97亚洲资源| 亚欧美综合网。| 超碰色大香蕉| 国产呦精品系列在线观看| 亚洲图片激情综合另类| 久久香蕉国产线看观看猫咪av| 色综合久久888| 欧美久久毛片基地| 久久久久久99999国产精品| 国产精品久久久久久久久久久久久久吹 | 久视频在线观看| 伊人久久亚洲中文字幕不卡| 九九九成人| 国产精品分类在线观看| 屁屁影院一区二区三区国产| 少妇99成人麻豆| 精吧天堂| 香港澳门日本三级网站| 国产懂色精品国产av| 天天添天天干电影| 91成人久久| 免费成人自拍视频在线| www黄片免费看com| www老逼91| 国产又长又大又粗的视频| 起碰97| 国产一区二区啪啪视频| 嗯嗯嗯,草死我| 后入精品| yellow网站免费观看日韩高清无码| 很很干很很操| 色香色欲天天综合网天天来吧| 超碰三级秋霞| 人妻激情视频| 人妻日日干| 97色欧州| 97九色| 99无码精品| 日日碰视频网| 岛国免费黄色网址| 91偷拍欧美亚洲| 国产97色在线| 探花精品视频| 国产精品乱码久久久久久久| 久久男人精品| 大香蕉中文aV在线| 操逼A∨| 亚洲精品一区中文字幕乱码| 国产美女91| 国产精品蜜乳AV| 丁香婷婷激情五月天无毒不卡 | 久久婷婷苹果| 欧美v亚洲v日韩v最新在线二区| 97超碰热线| 国产精品不卡av免费在线观看| 婷婷色网| 粉嫩AV一区二区夜夜| 国产亚州精品美女久久久免费| 97天天弄| 欧美偷拍区| 日本 免费 一区二区三区 久久香蕉 | 91在线页| 另类图片综合| 天美国产三级传媒| av激情亚洲五月天| 青青草原狼av| 日本一区二区亚洲综合| 冬京热男人的天堂| 久久婷婷电影网| 中文字幕精品人妻丝袜| 农村女一级毛卡片| 亚洲综合性感在线| 日本人妻中文字幕| 欧美999999| 精品人妻一区二区视频| 欧美在线 亚洲| 国产一区二区a毛片| 韩国黄片aaaa| 久久久精品一区二区| 欧美日韩精品一区二区三区高清| 亚洲自拍欧美色综合| 91成人久久| 天天操熟妇| 91久热| 60秒不遮不挡| 欧美亚洲丝袜美女电影| 北约熟女超碰| 天天热精品| 五月丁香| 男女啪啪网站免费视频| 99只有精品| 亚洲成人久久美女| 97视频网站| 久久久久9999妇女| 日韩欧美国产高清视频| 美女性91| 色 婷97| 国产熟女免费观看久久| 亚洲色婷婷综合久久一区二区三区| 无码又爽又硬又激情免费视频| 蜜臀一区二区三区在线 | 天天弄欧美| 老司机老司机午夜影院| 91老司机视频| 97天天操天天干| 精品久久人妻成人网| 日夜伊人网| 裸体1区| 丁香六月综合激情| 亚洲图片日本AⅤ欧美在线| 国产又大又粗又长视频| 夫妻四区五区六区| 欧美日韩国内不卡| 国产午夜精品理论片a大结局| 射丝袜大香蕉| 欧美日韩情色一区二区| 亚洲黄色a级片| 精品一级毛片在线观看| 欧美九一精品久久久熟妇| 中文伊人大香蕉视频| 十八禁成人网站在线观看| 美女人妻色网站| 特级毛片特黄久久免费看| 2017天天插| 欧美乱妇狂野欧美在线视频| 亚洲 图片 综合91| 92午夜免费福利视频| 极品国产内射| 91精品久久久久| ai欧美亚洲小说| 青娱乐av在线| 婷婷色婷婷| 国产成人手机视频激情| 操逼A∨| 久久老熟女| 亚洲老司机123专区| 午夜男人天堂| 青青草操逼逼视频| 99操视频| 久久久久成人亚洲国产| 一级黄色视频网| 无码精品久久久久久亚洲| 夜夜夜爽www精品视频| 麻豆天美在线喷水AV| 国产性感在线观看| 九九热九九热| 六九九九| 日韩高潮一区| 色爱综合网| 国产剧情AV不卡在线观看| 国产特级毛片AAAAAA高潮流水 | 福利视频香蕉免费一区二区在线| 日天天九九天堂666| 丰满人妻一区二区中文| 精品九九九九九九九九九| 97这里都是精品| 97色五月天完| 麻豆2区1区天美| 91oumei| 中文字幕 人妻不满 在线视频| 成年女人18级毛片毛片免费观看| 91成人在线免费视频| 亚洲人妻在线一区| 曰韩操B| 亚洲精品国产专区在线观看| 亚洲 日本 国产 综合| 五月丁香六月综合缴清无码| 欧美熟女妇同| 91网18| 台湾大香蕉99热| 97看操| 欧亚成人在线视频| 亚洲日韩乱码中文无码蜜桃臀网站| 女人的天堂大香蕉网| 狠狠色一区二区中文字幕| 欧洲精品人妻| 职场同事知名国产国产精品久久欧美日韩 | 狠狠狠一区二区三区| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 禁片 高清 在线观看视频网站| 婷婷激情五月| 美女黄页| 91激情网| 久射吧| 夫妻日逼| 秋霞一级鲁丝片A片| 中文字幕,人妻,日韩| 做爱A级亚欧| 成人性爱电影网| 日本人体九九九九九九| 91网亚洲| 亚洲在钱| 色欲av国内精品久久久久久| 立川理惠被中出无码| 伊人久久综合影院| 精品一区二区亚洲国产| 伊色综合天堂色97| 欧美乱妇狂野欧美在线视频| 久久久久久无码人妻中文字幕| 大香蕉日韩| 日韩精品中文字幕人妻| 久久成人午夜精品影院| 婷婷啪啪| 免费网色网站| 日韩欧美中文字幕搭讪巨乳美人妻视频| 啊啊啊啊操死我| 日韩中文字幕精品一区在线| 黄片www.| 97色欧州| 一本色道人妻久久| 日韩无码精品综合久久| 久久精品无码专区| 欧美大波激情xxxx| 免费观看啪视频| 亚洲免费日韩在线一区二区| 国产丁香精品露脸视频| www.99色| 色色色综合网| 成熟熟女国产精品一区二区| 伊人骚琪琪亚洲天堂网站| 国产精品久久久久无码A√| 在线日韩视频| 加勒比人妻综合| 中国人高清www色视频免费| 99久久久er直播网址| 精品人妻二区三区| 天堂网亚洲区手机版| 国产AV色黄看到爽| 久久超碰爱| 天天情欲宗合网| 天天射天天| 亚洲国产精品久久久久久久久久| 老熟女中文字幕高清| 日本色色色网站免费看不卡| 欧美很很操视频| 黄资源| 无码不卡亚洲成?人片| 国产伦乱91| 欧美夜夜骑视频| 日韩熟女无码| 黄色网址久久精品欧美喷水| 欧美线天码中字| 天天艹天天日| 自拍丝袜美腿人妻| 久久久久亚洲| 一本道综合色图| 亚洲,欧美,综合网| 国产h片在线观看视频| 亚州色图狠狠干| 婷婷色综合欧美日韩| 91丨九色丨43老版熟女| 日本天堂在线播放| 日本高清_区二区三区| 日韩情色AV| 超碰日韩人妻| 岛国小电影| 97超碰色| 久久久久性熟视频| 91天天| 91婷婷伊人狠人| 夜夜欢天天干| 五月天婷婷欧美三区| 人妻精品一区二区三区| 国产成人网站在线观看| 日韩欧美久久婷婷网站| 黄片www.| 国产精品午夜福利| 97人人模人人爽人人| 一二三四区操操Av| 最新日韩黄片| 四虎精品亚洲| 思思热在线视频精品| 欧美97网| 九九九九九九九精品视频| 欧美 亚洲 在线| 97超碰国产精品| 2024黄色视频| 久久国产对白激情浪潮 | 极品色综合| 日韩精品 资源| 欧美爱爱97| 青苹果影院男人的天堂| 一本大道综合伊人精品热热| 国产精品成人无码a v毛片| 国产小炒后入式| 中文字幕中文字幕一区二区| 久久国产999| 爱我干综合| 91色香| 91网亚洲| 亚洲最大成人a毛毛片| 亚洲国产精品久久久久婷婷老年| 日本福利二区视频| 天天综合网91| 亚洲av热热色| 久久国内| 2019天天干| 久久男人网| 丰满人妻一区二区三区大胸懂色 | 亚洲吊色| 777奇米影视777四色| 久久αⅴ| 躁躁日曰躁2020| 黄色欧美性爱视频| 亚洲在线| 欧美综合网1| 婷婷亚洲天堂| 亚洲国产成人7777| 女人18精品一区二区三区| 红杏大香蕉| 日韩性爱视频在线免费观看 | 天天草AV| 天天影视网综合少妇| 91人妻最真实刺激绿帽| 97中文字幕一区| 蜜臀亚洲中文| 睡产熟女乱伦| 岛国1区2区3区在线观看| 国产乱子伦一区二区三区免看| 91美女中出| 久久久久亚洲AV无码专区少妇| 日夜尻逼网| 男人的天堂激情| 91精品久久综合熟女| 人人看黄色视频| 玖玖无码超碰| 欧美在线大香蕉| 九九九九九九九精品视频| 大香蕉视频一二三区| 91情色在线| 伦理弟一页| 欧美日韩m| 天天精品| 中文字幕人成乱码熟女香港| 97久久久久| 日本性一区| 欧美狠狠弄| 中文字幕 人妻不满 在线视频| 亚一综合久久久久久久久久| 九九九九国产| 大香蕉手机在线| 免费网站观看www在线观| julia高潮后不停追击中出| 亚州免费啪啪视频| 99婷婷一区二区| 超碰诱惑| 亚洲精品久久久久久| 亚州精品丝袜-不卡成人免费| www.超碰| 亚洲 欧美 日韩另类 麻豆| 亚洲中文字幕日产无码久久| 91精品电影18| 熟女精品一区二区三区| 婷婷亚洲五月***久久| 一起草欧美| 欧美一级AAAAAAA| 97免费在线观看| 色与欲影视天天看综合网| 精品九九九九九九九九九| 日韩一区二区熟女| 欧美 亚洲 制服 精品| 超碰AV在线| 五月婷婷爱六月丁香色| 人人摸人人叼| 国产欧美日韩精品中文| 欧美性爱日韩性爱| 亚洲密乳AV| 中文字幕天堂在线| 九九综合九九综合| 日韩欧美日韩| 国产免费黄色一级大片| 精品一区二区三区国产| 国产高清亚洲日韩一区| 青青色在线观看| 欧美色图片| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 91劲爆| 久久久久婷婷精品av电影| 青青草玖玖爱| 国产熟女高潮一区二区三区| 男人的天堂无码| 老色鬼成人精品视频下载大在线观看| 韩日自拍| 久肏视频字幕| 少妇天堂| 91天天| 国产欧美日本亚洲精品 | 中文字幕在线观看网址| 人妻精品视频一区二区三区| 欧美精品二区视频在线| 中文字幕一区二区三区字幕| 欧美日日操| 日韩三级天堂在线观看| 欧美刺激色黄片免费看| 99性爱视频| 国产精品九9| 久久夜嗨| 狠狠爱夜夜干| 久久粉色| 自拍内地三级在线观看| 亚洲一级性爱视频免费看| 欧美专区日本专区| 日本色婷婷| 日欧美色| 亚洲中亚日激情视频| 啊啊啊水好多| 26uuu最新| 亚洲色 国产 欧美 日韩| 国产高清成人传媒影视| 爱爱60秒免费视频| 97视频7| 亚洲欧美变态| 97日韩| 亚洲无码免费看| 99热在线播放| 大香蕉在线86| 久久超碰天天| 偷拍 欧美 日韩| 国产麻豆一级精品视频| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 精国久久一区二区三区98| 91青青在线| 先锋影音av先锋一区| 强奸乱伦αv片| 偷拍欧美激情| 欧美精品亚洲精品日韩传电影| 天天爽天天操啊啊啊| 色天使亚洲综合在线观看| 激情综合五月婷婷| 天天综合网AV91| 性91| 日韩国产乱子伦App| 亚洲影视综合网| 老女人91| 香港澳门日本三级网站| 人人透人人操| 中文字幕久久精视频久久大全| 97操B| av最新免费中文字幕| 色爽爽文学| chaopen97久久| 91丨九色丨国产丨人妻在线 | 91|九色|国产熟女| 97色涩| 97操| 久久综合婷婷| 超碰免费欧美7| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 国产美女销魂在线观看不卡| 夜夜爽33333| 后入福利| 免费的很黄很污的全部视频| 欧美熟妇视频| 国产白丝网站| 日本熟妇人妻中出视频| 性性欧美| 免费看黄片现成| 99色悠悠| 亚洲久9| 九九黄色网| 五月天欧美色图| 亚洲一曲日韩精品| 欧美一二三区四五区| 日韩啪啪视频| 日本99热| 黑丝制服中文字幕| 日本操BAV| 色色青青久久| 亚洲AV操| 人妻五十路在线| 国产极品精品美女视频| 宗合情欲网| 欧美一级黄色免费专区| 97国产色综合| 美女诱惑一区| 67914亚洲精品| 伊色久人大在线| 91欧美| 97这里有精品| 天天干天天干天天干| 国语精品av| 五月天激情四射| 亚洲天堂另类| 亚洲1区| 久久精品超碰| 青青操青娱乐| 中文字幕乱亚洲美女精品一区| 色综合五月天| 少妇久久久久| 精品无码久久久| 国产精品日本无码A片| 一区麻豆 高清中文字幕| 国产精品又黄又猛又粗| 中文字幕少妇色| ,成人免费啪啪视频| 亚洲欧美setu| aaaa少妇高潮大片| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照 | 亚洲天堂电影网99999| 99久视频| 国产福利合集| 性色中出| 亚洲国产奇米影视久久| 亚州Av天美传媒| 国产欧美一区激情交| 97在线视频网站| 亚洲熟妇乱女区二区三区| 成人一道本免费视频| 亚洲91网站| 中文字幕 国产 精品| 91岛国动作片| 91麻豆天美国产| 日韩A优精品在线观看| 色亚洲欧美| 高清不卡一二三区视频......| 人人贴人人摸| 精人妻无码一区二区三区伊人直播| 极品尤物在线观看| 色汉综合| 亚洲激情色片 | 精品少妇人妻av久久免费| 欧美日本不卡| 丰满人妻-区二区三区免费| 操屄日韩| 十八禁电影伊人网| 国产在线76页| A 在线网址| 99热在线只有精品| 综合网~91综合网| 懂色AV蜜臀无码精品APP| 精品久久久久久久| 成人精品视频| 96AV精品| 日韩欧美午夜视频在线| 老熟女综合| 60秒免费视频| 91蜜臀在线久久久久| 亚洲精品人妻在线| 东京热综合久久一区二区| 久久一二三四不卡 | 91亚洲不卡一区| 色爱三区| 可以免费看黄片的视频| 亚欧美无遮挡| 久久久久久中文版| 人妻久久久久久久久久久久久久久| 熟妇的味道HD中文字幕| 97超碰色情| 色悠久久久av| 亚洲综合码| 在线另类| 加勒比久久综合网高清| 亚洲乱码精品一区二区| 亚洲蜜臀精品视频久久| 91久久久视| 黄色AV影视| 岛国成人av在线播放网址| 91av一区二区在线观看| 天天射日日干| 尤物视频新赏网鲜网色诱网| 91亚州欧美| 国产欧美日韩女同性恋ww喷水精品 | 久久久久久久9| 久久久久幕乱码| 欧美亚洲日韩16色| 中文字幕91综合| 4399成人黄A片| 乱论91| 无码外流操逼视频| 加勒比综合网| 俞拍久久国应视频| 91亚洲黄色网| 婷婷九月国产| 91爱看| 久久久久久九九九九-美女久久久久久久-成人AV| 日本三级中国三级99人妇网站| 欧美人妻精品一区二区| 日韩无码三级影院| 四虎午夜影院| 日韩性爱啪啪视频| 96精品久久久久久久久久| 欧美色图欧美| 91操熟女视频 | 俞拍自拍| 久偷拍欧美日韩三区| 极品少妇99| 97超碰逼| 久久久熟妇熟女国产| 96AV久久久| 国产精品熟女AV中文字幕在线播放| 东京热男人的天堂网| 天天日日夜夜| 久久香蕉网| 色婷婷激情| 综合色图亚洲欧美| 天天添天天干电影| 久久国产三区| 后X久久| 中文字幕在线观看AV| ,国产乱人伦精品一区二区三区| 殴美,日韩国产伦精品| 欧美精品人妻视频| 日韩国产品视频中文字| 天天干一区二区| 欧美少妇第一页| 69精品人人人人| 精品无码久久久久| 操淫穴亚洲五月丁香| 天美传媒av一区二区| 亚洲在钱| 综合亚洲欧美| 九九九九精品| 国产极品粉嫩馒头一线天av| 日韩精品一区二区高清 | 91亚洲色图| 日韩强奸av| 曰韩操B| 日韩av不卡在线观看| 色色色999| 欧插网站| 色 亚洲 91| 久久久成人免费av电影| 99999亚洲另类| 欲香欲色| 一本久道在线综合视频| 国产真实野战在线视频| 婷婷激情五月综合| 久无码| 老司机免费视频在线91| 成人草草视频| 蜜臀无码视频在线观看| 亚洲人妻在线一区| 日韩一级片| 青青草吊丝| 成人一级二级| 少妇高潮九九九九| 国产在线强奸视频| 思思热免费视频观看| 超碰亚洲欧美日韩无| 国产美女口爆吞精| 综合熟妇一区二区三区| 亚洲色综合| 无码操逼网| 免费看毛片操穴| 夜夜爽爽夜夜精品视频| 青娱乐黄色录像| 亚洲成人性爱网站在线播放| 男人的天堂一区三区| 真实高潮91| 日韩欧美中文字亚洲慕| 久久性爱视频免费看| 在线人人人人人人精品超|