精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

分布式鏈路追蹤技術:編寫出“可觀測”的系統日志

開發 前端
今天我們了解了日志編寫的工具、日志編寫需要注意的 8 個事項以及日志管理的方式,有哪些是你原來犯過的錯誤,又有哪些是你原來沒有想到的呢?歡迎你在留言區分享與討論。希望你在日后的日志編寫中可以注意到這些問題。?

?有在用,但是大多是 logback 和 log4j 2.x。雖然異步日志的效率 logback 和 log4j 2.x 相差無幾,但 log4j 2.x 仍有些微弱的優勢。

日志接口框架

可以看到,Java 中是存在多種不同日志框架的實現的,這就會造成 2 個問題:

多框架協作:在一個項目中,不光有你的代碼,還有各種各樣的框架代碼,比如分布式協調會用到 Zookeeper、Curator;RPC 通信會用到 Dubbo、Thrift。為了方便開發,業務系統中往往集成了許多第三方框架。我們需要日志來了解各個第三方框架之間的協作狀態,這些第三方框架又依賴于各個日志框架進行輸出。這時候如果直接使用像 logback、log4j 這樣的日志框架,豈不是業務系統要接入每個日志框架?

不同框架競爭:如果要引入多個日志框架,我們還需要考慮各個框架的輸出位置。要是多個日志框架同時寫入一個日志文件,還會涉及競爭問題,導致性能無法發揮。

由此就出現了面向接口的日志框架,它提供了統一的 API。開發人員在編寫代碼的時候,直接使用這套面向接口的日志框架,當業務項目人員在使用時,只需要選擇好實現框架,就可以統一日志實現框架。

目前使用最為廣泛的日志接口框架是 SLF4J,出自 logback 的開發者,目前基本已經形成規范。SLF4J 提供了動態占位符的功能,大大提高了程序的性能,無須開發人員再對參數信息進行拼接。

比如默認情況下程序是 info 級別的,在原先的代碼方式中想要進行日志輸出需要自行拼接字符串:

logger.debug("用戶" + userId + "開始下單:" + orderNo + ",請求信息:" + Gson.toJson(req));

這會產生一個問題,系統中如果存在大量類似的代碼,同時系統只輸出 info 及 info 以上級別的日志,那么,在輸出 debug 日志時會產生大量的字符串,而并不會輸出 debug 日志,最后造成字符串不停地拼接,浪費系統性能。此時,SLF4J 就可以使用占位符的功能編寫日志,比如像下面這樣:

logger.debug("用戶{}開始下單:{},請求信息:", userId, orderNo,  Gson.toJson(req));

通過這樣的形式,SLF4J 就可以根據日志等級判斷,只對符合要求的日志進行數據拼接和打印。

有些時候日志輸出需要進行數值計算,或者 JSON 轉換,此時就需要一定的計算任務。但方法調用如果被當作參數傳遞的話一樣會被執行,所以 Java8 中 SLF4J 還可以通過 Supplier 來傳遞。如下所示:

logger.debug("用戶{}開始下單:{},請求信息:", userId, orderNo, () -> Gson.toJson(req))

可以看到,SLF4J 不僅為我們制定了一套面向接口開發的方式,還為我們明確了如何有效地編寫日志。這也是為什么越來越多人喜歡用 SLF4J。

日志編寫方式

在詳細介紹了我們在開發時需要使用的日志框架后,我將正式展開我們的標題:“如何編寫‘可觀測’的日志?”我會從日志編寫位置、寫入性能、占位符、可讀性、關鍵信息隱蔽、減少代碼位置信息的輸出、文件分類、和日志 review 這 8 個點來講解,并將它們分成了 2 個方向:

日志開發時(前 5 項):怎么樣寫出更有效率的日志?

日志完成后(后 3 項):上線前后有哪些需要注意的?

日志編寫位置

日志編寫的位置可以說是重中之重,好的日志位置可以幫你解決問題,也可以讓你更加了解代碼的運行情況。我總結了幾點比較重要的編寫日志的位置,以供參考。

系統/應用啟動和參數變更:當系統啟動時,可以將相關的參數信息進行打印,以便出現問題時,更準確地查詢原因;參數信息可能并不存儲在本地,需要通過配置中心獲取,而參數信息有變更時,也需要將變更后的內容輸出在日志中。

關鍵操作節點:最典型的就是在關鍵位置添加日志,記錄用戶進行的某個操作。當出現問題時,你可以通過這個位置的日志了解到用戶的操作。同樣你也可以在系統進行某些操作時添加日志,比如你準備啟動某個線程池來進行數據處理時,可以加上日志便于以后分析問題。

大型任務進度上報:當系統在處理某個比較大型的任務時,可以在這個過程中增加相關的日志來表明任務處理的進度,防止因為長時間沒有處理而無法得知程序執行的狀態,比如在文件下載時,可以按照百分比來定時/定次地上報數據。

異常:當程序出現異常時,我們通常是通過 try-catch 來記錄當時的情況,然后以日志的形式表現出來。如果是通過 try-catch 處理,你需要注意日志編寫的位置。如果你需要將日志在本層拋出,則不需要進行日志記錄,否則會出現日志重復的問題。如果你除了異常以外還需要記錄其他的內容,則可以通過定制異常信息來實現。

寫入性能

日志的寫入性能則會受到如下 5 個因素的影響:

日志編寫位置:日志編寫的位置在程序中十分重要,如果在 for 循環中編寫,因為這個循環會持續很多次,那么就會產生大量的日志記錄。此時可以考慮一下,這個日志的記錄是否有必要。

日志數量:如果你大量地編寫日志,那么日志的質量一定會降低。同時,大量的日志會讓你很難去查看問題,反而成了一種負擔。在高訪問量時,過多的日志也會影響程序的執行效率。

日志編寫等級:我在上一節中講過,日志等級很容易被濫用,不正確的日志等級會導致我們查詢問題的時間增加。

日志輸出級別:這里指的是對于配置日志輸出級別的選擇。在線上環境,不建議使用 debug 級別,因為線上一直有請求,debug 級別會輸出大量的基礎和請求信息,極其浪費資源,因此建議開啟 info 或者以上。

無用輸出參數:不對大字段、無用字段輸出,因為這很影響程序執行效率和日志的內容。我曾遇到一個案例,A 同學在線上打印了一個完整的 HTML 內容,導致當日的部分日志內容錯亂,部分日志無法檢索,原因就在于 HTML 存在多行內容導致無法解析的問題。當開發人員到線上服務器上查看時,日志文件的大小已經擴大了 3 倍。

好的日志一定是便于你去排查問題的。在編寫日志時你一定要思考這個日志可以幫你做什么。

占位符

在介紹日志接口框架時我提到過,在日志編寫時盡可能地選擇基于占位符的編寫方式。這里我會告訴你為什么要用占位符:

  • 節約性能。在生成較高級別的日志時,低級別的日志會不停疊加字符串而占用過多的內存、CPU 資源,導致性能浪費。
  • 便于編寫。先確認日志所想要表達的內容,再確認你所需要編寫的參數,這樣在寫日志時,目的也會更加明確。
  • 便于查看。在代碼 review 時,更方便查看日志想表達的意思,而不會被日志的參數打亂。

可讀性

日志的可讀性也是日志編寫的關鍵之一。一個好的日志就像一篇好的文章,能讓你很快了解到這個日志中的關鍵信息。我在工作中發現很多人寫的日志都是無意義的,根本無法幫你定位問題的根源,比如像下面的這段代碼:

boolean success = doSomeThing(); 
if (success) {
logger.info("數據保存成功!");
}

這段代碼乍一看似乎沒什么問題,但是運行后系統會大量地輸出“數據保存成功!”的消息,這個輸出和沒有是一樣的,起不到任何的作用。

我總結了幾點在日志中容易遺漏的信息:

  • 會話標識:當前操作的用戶和與當前請求相關的信息,類似 Session。當出現問題/查看行為時,可以根據這個值來快速識別到相關的日志。
  • 請求標識:每個請求都擁有一個唯一的標識,這樣在查看問題時,我們只需要查看這一個請求中的所有日志即可。一般我們會配合鏈路追蹤系統一同使用,因為后者可以實現跨應用的日志追蹤,從而幫助我們過濾掉不相關的信息。
  • 參數信息:在日志中增加參數信息能幫你了解到,是什么情況下產生的問題,這樣你也很容易復現問題,以及辨別錯誤的原因。
  • 發生數據的結果:和參數信息相互對應,一個是執行前,一個是執行后。發生數據的結果可以幫你了解程序執行的結果,出錯時也是很重要的參考條件。

關鍵信息隱蔽

對于關鍵的信息不顯示或者進行掩碼顯示,以免信息被盜取后出現數據內容泄漏。推特在 2018 年曾將用戶打印在日志中,這一行為泄露了 3.3 億人。

減少代碼位置信息的輸出

如果不是必要,盡量不要在日志格式中輸出當前日志所在的代碼行和方法名稱信息。如果你看過 logback,log4j 的源碼你就知道,這都是通過獲取當前線程堆棧快照信息來進行實現的,這種實現方式會極大地影響程序執行的效率。

在 log4j 的文檔中有這樣一段話:“使用同步方式進行獲取位置信息會慢 1.3 到 5 倍,如果是使用異步日志,因為會涉及跨線程獲取位置信息,會慢 30 到 100 倍。原文:https://logging.apache.org/log4j/2.0/manual/async.html#Location。

所以,關閉代碼位置信息的輸出可以節省系統資源的使用,提升性能。

文件分類

文件分類可以幫助你提高檢索日志信息時的效率。將不同的業務邏輯按照不同的日志文件來分類,可以保證你看到的信息都是和這個功能相關的,不會被其他的日志干擾。這也是在大型系統中經常會使用到的功能。

比如拉勾的單點登錄系統,就會將用戶的極驗驗證功能和登錄驗證功能拆成兩個單獨的日志文件,當出現問題時,可以根據相關功能的日志來快速篩查問題,減少了篩選所需的時間。

日志 review

每一次功能上線后,除了要對業務功能進行回歸,還要對日志進行觀察,確認日志內容的輸出情況,比如日志內容是否符合預期,會不會有不合適的地方?

好的日志不是一次就能寫好的,一定是要和代碼一樣不停地迭代,才能寫出更方便處理問題,也更具有可讀性的日志。

日志管理

就像店家在賣出商品后還要負責其售后,編寫完日志,對于它的管理也是十分重要的。好的日志管理方式可以提高閱讀日志的效率,而這需要開發人員和運維人員共同協作。

日志格式

日志的格式布局會影響運維人員將這些日志內容收集與管理的效率。如果編寫者和管理者能夠通過協商,規定出一套完整的日志格式,這樣就能在排查問題時事半功倍。

我會簡單介紹幾點在日志編寫時需要注意的事項:

  • 系統之間格式保持一致:每個應用在日志格式上盡量保持統一,這樣,運維人員在進行日志收集時,就可以采用統一的日志模板來收集和格式化內容,減少雙方的溝通成本。
  • 不編寫多行的日志內容:除了異常堆棧信息,不對日志內容進行多行的輸出,多行的內容十分不便于數據解析,可能會出現生成多條日志的情況。
  • 不要使用日志中的常見內容來分割:如果采用日志中常見的內容來分割,會在格式解析時出現問題,比如用戶 ID 中的空格就是比較常見的內容。

日志歸檔

日志歸檔是一件很重要的事情。如果你將日志內容全部寫到一個文件中,這個日志文件會變得越來越煩冗,不利于日志的收集和查看。

一般情況下,我們會對日志按照日期來歸檔,每天生成一個日志文件,這樣在日志備份和恢復時,可以按照日期來進行。如果感覺天級別的日志仍然太大了,可以考慮按照小時細分。

結語

今天我們了解了日志編寫的工具、日志編寫需要注意的 8 個事項以及日志管理的方式,有哪些是你原來犯過的錯誤,又有哪些是你原來沒有想到的呢?歡迎你在留言區分享與討論。希望你在日后的日志編寫中可以注意到這些問題。?

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2022-09-25 22:19:24

Dapr分布式追蹤

2020-12-16 09:24:18

Skywalking分布式鏈路追蹤

2024-06-07 13:04:31

2024-01-26 07:49:49

Go分布式鏈路

2021-02-22 07:58:51

分布式鏈路追蹤

2020-09-11 09:44:04

微服務分布式鏈路

2025-10-10 08:58:13

2024-08-21 08:09:17

2023-01-09 11:23:03

系統

2024-07-09 08:11:56

2023-11-21 08:25:09

2023-08-07 18:53:24

Collector云原生CPU

2024-10-22 08:11:15

2024-11-28 08:57:21

分布式鏈路Skywalking

2023-10-26 00:00:00

分布式系統定位

2022-02-18 14:07:48

移動開發技術

2021-11-08 14:10:37

分布式Spring鏈路

2022-08-05 10:03:17

分布式微服務

2020-05-26 11:59:30

日志鏈路微服務架構

2017-12-05 09:43:42

分布式系統核心
點贊
收藏

51CTO技術棧公眾號

欧美激情精品久久久| 777xxx欧美| 日韩精品成人一区二区在线观看| 国产天堂第一区| 久久精品国产www456c0m| 欧美疯狂性受xxxxx喷水图片| 妞干网在线播放| 毛片免费在线| 精品亚洲国内自在自线福利| 久久久久久69| 黄色裸体一级片| 都市激情久久| 欧美中文字幕一区二区三区亚洲| 国产精品啪啪啪视频| 女人偷人在线视频| 国产精品99久| 国产欧美日韩中文字幕| 精品成人免费视频| 无需播放器亚洲| 亚洲女人初尝黑人巨大| 四虎国产精品永久免费观看视频| 成人免费一区二区三区牛牛| 国产精品污www在线观看| 国产成人精品免费视频大全最热| 一区二区视频播放| 亚洲专区免费| 欧美激情视频在线| 午夜国产福利视频| 精品国产不卡| 亚洲欧美国产另类| 国产婷婷在线观看| 日韩在线观看中文字幕| 欧美日韩精品系列| 男人亚洲天堂网| 国产精品69xx| 亚洲最色的网站| 色中文字幕在线观看| 韩国三级在线观看久| 91麻豆高清视频| 精品蜜桃传媒| 天天爽夜夜爽夜夜爽| 懂色av一区二区三区免费看| 91精品视频在线播放| 中文字幕 自拍偷拍| 日日夜夜精品视频免费| 欧美在线一区二区视频| 久草手机在线观看| 在线亚洲观看| 26uuu另类亚洲欧美日本老年| 久久精品久久国产| 亚洲一级电影| 97国产在线视频| 日操夜操天天操| 亚洲三级网站| 91精品国产色综合久久不卡98口 | 久久久一区二区三区捆绑**| 精品在线视频一区二区三区| 天天摸天天碰天天爽天天弄| 99亚偷拍自图区亚洲| 精品久久久久久综合日本| 香蕉av一区二区三区| 99精品视频中文字幕| 精品日本一区二区三区在线观看| 天堂中文在线官网| 26uuu精品一区二区三区四区在线| 久久久久久久久四区三区| 亚洲色图21p| 久久精品免费在线观看| 亚洲欧洲久久| 在线看三级电影| 亚洲国产精品视频| 激情综合网婷婷| 国产私拍福利精品视频二区| 欧美视频中文一区二区三区在线观看| 欧美成人福利在线观看| 电影一区二区三区久久免费观看| 日韩三级高清在线| 国产精品福利导航| 精品视频国产| 久久视频在线看| 国产真人真事毛片| 日韩中文字幕一区二区三区| 国产免费一区视频观看免费| 国产成人精品a视频| www.色精品| 日韩中文一区二区三区| 成人日批视频| 欧美特级www| 一级 黄 色 片一| 天堂在线精品| 久久躁狠狠躁夜夜爽| 日韩av电影网| 精品在线免费视频| 精品国产免费人成电影在线观...| 国产有码在线| 一区二区三区视频在线看| 黄www在线观看| 国产精品xnxxcom| 日韩精品丝袜在线| 国产精品 欧美激情| 亚洲专区一区| wwwxx欧美| av在线1区2区| 欧美日韩在线视频一区| 久久久精品高清| 亚洲欧美校园春色| 久久国产精品久久久| 秋霞av一区二区三区| 国产成人在线色| 日韩一区不卡| 蜜桃视频在线观看免费视频| 69堂国产成人免费视频| 男人操女人动态图| 亚洲午夜极品| 91丝袜美腿美女视频网站| 男女污视频在线观看| 亚洲综合视频网| www.色欧美| 欧美码中文字幕在线| 97不卡在线视频| 亚洲AV无码精品自拍| 中文字幕巨乱亚洲| 男人的天堂日韩| 婷婷五月色综合香五月| 欧美疯狂性受xxxxx另类| 在线观看亚洲一区二区| 91丨porny丨在线| 国产精品久久久久7777| 久久国产精品美女| 最新国产精品亚洲| 国产精品无码粉嫩小泬| 2014亚洲片线观看视频免费| 欧美一级视频在线播放| 天堂精品在线视频| 久久影院中文字幕| 97超碰人人草| 中文字幕亚洲欧美在线不卡| 日本男人操女人| 自拍欧美一区| 国产成人高清激情视频在线观看| 天天色棕合合合合合合合| 午夜亚洲福利老司机| 亚洲一区二区三区黄色| 欧美涩涩视频| av在线亚洲男人的天堂| 羞羞视频在线免费国产| 日韩精品影音先锋| 免费在线观看日韩| 懂色一区二区三区免费观看| 日韩精品综合在线| 风间由美性色一区二区三区四区 | 亚洲黄色www| 日韩乱码在线观看| 91丨porny丨中文| 韩国中文字幕av| 三区四区不卡| 96pao国产成视频永久免费| av文字幕在线观看| 精品国产乱码久久| 日韩免费av片| 久久久一区二区三区捆绑**| 韩国日本美国免费毛片| 日韩中文首页| 亚洲综合一区二区不卡| jizz一区二区三区| 亚洲欧美国产va在线影院| 波多野结衣一区二区三区四区| 国产日韩三级在线| 免费成年人高清视频| 午夜精品网站| 精品卡一卡二| 精品176极品一区| 欧美老少做受xxxx高潮| 天堂中文网在线| 91成人网在线| 国产suv精品一区二区68| 国产不卡免费视频| 欧美精品色婷婷五月综合| 精品视频亚洲| av资源站久久亚洲| 东京一区二区| 欧美久久精品午夜青青大伊人| www.色呦呦| 欧美性猛交xxxx免费看| 日日碰狠狠添天天爽| 成人av片在线观看| 九色91popny| 亚洲黄色在线| 亚洲国产日韩欧美| 国内精品麻豆美女在线播放视频 | 黑森林福利视频导航| 99成人超碰| 精品国产第一页| 国产亚洲人成a在线v网站 | 国产又黄又猛又粗又爽| 国产精品不卡一区| 国产又黄又粗又猛又爽的视频| 日本女人一区二区三区| 欧美午夜性视频| 色777狠狠狠综合伊人| 精品无码久久久久国产| 自拍偷拍亚洲| 国产91亚洲精品| 免费av不卡在线观看| 一区二区成人av| 三级小视频在线观看| 欧美日韩电影一区| 东京热一区二区三区四区| 一区二区三区精品| 自拍偷拍你懂的| 99国产精品久久久| 少妇高潮一69aⅹ| 麻豆91在线播放| 日韩a在线播放| 91久久视频| 日韩精品手机在线观看| 999国产精品视频| 欧美一区二区三区四区在线观看地址 | 人妻av无码专区| 不卡在线一区二区| 久久精品综合一区| 国产精品videossex| 91亚洲精品在线观看| 99久久久国产精品免费调教网站| 精品综合久久久久久97| 久久五月精品| 最近2019中文字幕在线高清| 国产网站在线播放| 日韩电影免费观看在线观看| 丰满熟女一区二区三区| 美女视频网站久久| 国产福利精品导航| 在线观看日韩片| 国际精品欧美精品| 欧美日韩国产免费一区二区三区 | 欧美三级三级三级| 国产成人无码专区| 一本大道久久a久久精品综合| 日本一级黄色大片| 午夜精品一区二区三区免费视频| 激情五月少妇a| 亚洲精品成a人| 私库av在线播放| 亚洲另类在线一区| 看片网站在线观看| 亚洲综合在线视频| 久久9999久久免费精品国产| 一区二区三区不卡视频| 免费在线观看av网址| 一区二区三区免费在线观看| 玖玖爱免费视频| 亚洲成人在线网站| 五月天婷婷综合网| 欧美性xxxxxxxxx| 午夜一级黄色片| 欧美日韩精品系列| www.久久成人| 精品国产区一区| 午夜黄色小视频| 亚洲欧洲xxxx| 91.xxx.高清在线| xxxxx91麻豆| 青草青在线视频| 欧美亚洲激情在线| 日韩一级二级| 91在线|亚洲| 成人h动漫免费观看网站| 精品视频一区二区| 欧美手机视频| 四虎精品欧美一区二区免费| 最新亚洲视频| 熟妇人妻无乱码中文字幕真矢织江| 免费不卡在线观看| 韩国三级在线播放| 91免费观看视频| 一本一本久久a久久| 一区二区免费在线播放| 丰满少妇乱子伦精品看片| 在线免费观看视频一区| 国产精品无码在线播放| 亚洲福利在线看| www.在线视频.com| 欧美猛男性生活免费| 欧美专区福利免费| 亚洲综合日韩在线| 国产一区二区三区电影在线观看| 伊人久久av导航| 免费精品视频| 国产sm在线观看| 91美女蜜桃在线| 黑鬼狂亚洲人videos| 一本一道综合狠狠老| aa视频在线免费观看| 精品免费视频一区二区| 成人精品一区二区三区免费 | 性欧美18一19内谢| 99成人在线| www.日本久久| 久久精品一二三| 妺妺窝人体色www在线下载| 在线免费观看视频一区| 欧洲精品久久一区二区| 日韩在线视频中文字幕| 女厕盗摄一区二区三区| 亚洲综合在线播放| 成人写真视频| 日本三级免费观看| www.日韩av| 青青草原免费观看| 欧美日韩国产另类不卡| 欧美老女人性开放| 久久久久免费视频| www欧美在线观看| 日韩偷拍一区二区| 亚洲精品影视| 国产资源中文字幕| 国产精品国产精品国产专区不片| 久草视频在线观| 亚洲国产精品va在线观看黑人| 麻豆影视国产在线观看| 国产精品看片资源| 自拍视频一区| 国产av无码专区亚洲精品| 成人小视频在线| 一区二区视频免费看| 欧美日韩一卡二卡| av男人的天堂在线| 国产精品成人va在线观看| 亚州精品视频| 日韩精品 欧美| 波多野结衣亚洲一区| 免费在线视频观看| 欧美一卡在线观看| 国产精品刘玥久久一区| 国产专区欧美专区| 日韩在线观看电影完整版高清免费悬疑悬疑 | 国产欧美日韩中文久久| 国产黄色片免费看| 亚洲精品美女在线观看播放| 成人福利电影| 国产久一道中文一区| 综合久久一区| 337p日本欧洲亚洲大胆张筱雨| 国产精品国产馆在线真实露脸| 中文字幕精品一区二| 在线观看精品自拍私拍| 99欧美精品| 一区二区三区国| 韩国理伦片一区二区三区在线播放| 免费91在线观看| 欧美日韩国产精品成人| 日韩专区在线| 91久久在线视频| 欧美/亚洲一区| 国产综合内射日韩久| 精品国产91乱高清在线观看 | 久久精品国产2020观看福利| 亚洲午夜剧场| 国产精品国产三级国产专区51| 国产a视频精品免费观看| 日本中文字幕在线免费观看| 亚洲精品一区二区久| 欧美色999| 黄瓜视频免费观看在线观看www | 999国内精品视频在线| 亚洲视频一区| 波多野结衣福利| 欧美日韩中字一区| 直接在线观看的三级网址| 国产视频精品网| 日韩二区三区四区| 18岁成人毛片| 亚洲国产精品999| 国产原创一区| 男人天堂a在线| 国产网站一区二区三区| 91成人一区二区三区| 久久久免费高清电视剧观看| 九一亚洲精品| 性鲍视频在线观看| 精品免费在线视频| 五月天婷婷在线视频| 粉嫩高清一区二区三区精品视频| 校园春色综合网| 国产一区二区精彩视频| 日韩高清a**址| 国产精品久一| 97超碰青青草| 亚洲欧美日韩久久精品| 青青草手机在线| 亚洲最大福利视频网| 久久久久中文| 欧美日韩免费一区二区| 国产亚洲精品久久久久动| 日韩视频在线直播| 亚洲人成无码www久久久| 亚洲美女一区二区三区| 国产一区电影| 国产偷国产偷亚洲高清97cao| 蜜桃精品视频在线|