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

Java搬磚這么久,日志還是出問題?

開發 后端
用了那么久的日志框架,你是否仍會遇到即使配置了日志,日志依然不知去向?來接受下面的 8 連發靈魂拷問。

 前言

用了那么久的日志框架,你是否仍會遇到即使配置了日志,日志依然不知去向?

來接受下面的 8 連發靈魂拷問!

Q1:你是否遇到過配置了logback,啟動時卻提示log4j錯誤的情況?像下面這樣: 

  1. log4j:WARN No appenders could be found for logger (org.example.App).  
  2. log4j:WARN Please initialize the log4j system properly.  
  3. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 

Q2:你是否遇到過 SLF4J 的這種報錯? 

  1. SLF4J: Class path contains multiple SLF4J bindings.  
  2. SLF4J: Found binding in [jar:file:/C:/Users/jiang/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
  3. SLF4J: Found binding in [jar:file:/C:/Users/jiang/.m2/repository/org/slf4j/slf4j-log4j12/1.7.30/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
  4. SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
  5. SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder] 

 Q3:你是否遇到過DUBBO日志打印不正常的情況?

Q4:你是否遇到過Mybatis SQL日志打印不出來的情況?

Q5:你是否遇到過JPA/Hibernate SQL日志無法打印的情況?

Q6:你是否遇到過復雜項目中,很多框架內部日志無法打印的情況?

Q7:你是否遇到過Tomcat工程,日志文件打印了多份,catalina.out和其他文件?

Q8:你是否遇到過SpringBoot項目,日志文件打印了多份的問題?

What!你還遇到過其他各種日志配置問題……

## 日志框架的沖突 這些問題,基本都是由于多套日志框架共存或配置錯誤導致的。> 為什么會出現共存或者沖突呢?

一般是以下幾種原因:

  •  項目手動引用了各種日志框架的包,比如同時引用了log4j/log4j2/logback/jboss-logging/jcl等
  •  包管理工具的傳遞依賴(Transitive Dependencies)導致,比如依賴了dubbo,但是dubbo依賴了zkclient,可zkclient又依賴了log4j,此時如果你的項目中還有其他日志框架存在并有使用,那么就會導致多套共存
  •  同一個日志框架多版本共存

JAVA里的各種日志框架

在正式介紹沖突和解決之前,需要先簡單的說一下Java中的各種日志框架:

Java 中的日志框架分為兩種,分別為日志抽象/門面,日志實現

日志抽象/門面

不負責具體的日志打印,如輸出到文件、配置日志內容格式等。這只是一套日志抽象,定義了一套統一的日志打印標準,如Logger對象,Level對象。

slf4j(Simple Logging Facade for Java)和 jcl(Apache Commons Logging)這兩個日志框架就是JAVA中最主流的日志抽象了。

還有一個 jboss-logging,主要用于jboss系列軟件,比如hibernate之類。像 jcl 已經多年不更新了(上一次更新時間還是14年),目前最推薦的是使用 slf4j。

日志實現

Java 中的日志實現框架,主流的有以下幾種:

  •  log4j,Apache(老牌日志框架,不過多年不更新了,新版本為log4j2)
  •  log4j2,Apache(log4j 的新版本,目前異步IO性能最強,配置也較簡單)
  •  logback,QOS(slf4j就是這家公司的產品)
  •  jul(java.util.logging),這是jdk內置

在程序中,可以直接使用日志框架,也可以使用日志抽象+日志實現搭配的方案。不過一般都是用日志抽象+日志實現,這樣更靈活,適配起來更簡單。

目前最主流的方案是 slf4j+logback/log4j2,不過如果是jboss系列的產品,可能用的更多的還是 jboss-logging,畢竟自家產的,總得用上去,是吧!像 JPA/Hibernate 這種框架里,內置的就是 jboss-logging。

SpringBoot + Dubbo 日志框架沖突的例子

舉個例子來說個最常見的傳遞依賴導致的共存沖突:比如我有一個“干凈的”spring-boot項目,干凈到只有一個spring-boot-starter依賴,此時我想集成dubbo,使用zookeeper作為注冊中心,此時我的依賴配置是這樣: 

  1. <dependencies>  
  2.   <dependency>  
  3.     <groupId>org.springframework.boot</groupId>  
  4.     <artifactId>spring-boot-starter</artifactId>  
  5.   </dependency>  
  6.   <dependency>  
  7.     <groupId>org.apache.dubbo</groupId>  
  8.     <artifactId>dubbo-spring-boot-starter</artifactId>  
  9.     <version>2.7.9</version> 
  10.    </dependency>  
  11.   <dependency>  
  12.     <groupId>org.apache.dubbo</groupId>  
  13.     <artifactId>dubbo-registry-zookeeper</artifactId>  
  14.     <version>2.7.9</version>  
  15.   </dependency> 
  16.  </dependencies> 

現在啟動這個spring-boot項目,會發現一堆紅色錯誤: 

  1. SLF4J: Class path contains multiple SLF4J bindings.  
  2. SLF4J: Found binding in [jar:file:/C:/Users/jiang/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
  3. SLF4J: Found binding in [jar:file:/C:/Users/jiang/.m2/repository/org/slf4j/slf4j-log4j12/1.7.30/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
  4. SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
  5. SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder] 
  6. ----------------------------------我是分割線----------------------------------------  
  7. log4j:WARN No appenders could be found for logger (org.apache.dubbo.common.logger.LoggerFactory).  
  8. log4j:WARN Please initialize the log4j system properly.  
  9. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 

從錯誤提示上看,錯誤內容分為兩個部分:

  •  slf4j報錯,提示找到多個slf4j的日志綁定
  •  log4j報錯,提示log4j沒有appender配置

出現這個錯誤,就是因為 dubbo 的傳遞依賴中含有 log4j,但是 spring-boot 的默認配置是 slf4j+logback。在依賴了 dubbo 相關包之后,現在項目中同時存在 logback/jcl(apache commons-logging)/log4j/jul-to-slf4j/slf4j-log4j/log4j-to-slf4j。

來看一下依賴圖:

這個時候就亂套了,slf4j-log4j 是 log4j 的 slf4j 實現,作用是調用 slf4j api 的時候使用 log4j 輸出;而 log4j-to-slf4j 的作用是將 log4j 的實現替換為 log4j,這樣一來造成了死循環。

而且還有 logback 的存在,logback 默認實現了 slf4j 的抽象,而 slf4j-log4j 也是一樣實現了 slf4j 的抽象。

logback 項目里共存了兩套 slf4j的實現,那么在使用slf4j接口打印的時候會使用哪個實現呢?

答案是“第一個”,也就是第一個被加載的Slf4j的實現類,但這種依靠ClassLoader加載順序來保證的日志配置順序是非常不靠譜的。

如果想正常使用日志,讓這個項目里所有的框架都正常打印日志,必須將日志框架統一。不過這里的統一并不是至強行修改,而是用“適配/中轉”的方式。

現在項目里雖然有 slf4j-log4j 的配置,但這個配置是適配 log4j2 用的,而我們的依賴了只有 log4j1,實際上這個中轉是無效的。但logback是有效的,而且是 spring-boot 項目的默認配置,這次就選擇 logback 作為項目的統一日志框架吧!

現在項目里存在 log4j(1) 的包,而且啟動時又報 log4j 的錯誤,說明某些代碼調用了 log4j 的 api。但我們又不想用 log4j,所以需要先解決 log4j 的問題。

由于有 log4j 代碼的引用,所以直接刪除 log4j 一定是不可行的。slf4j 提供了一個 log4j-over-slf4j 的包,這個包復制了一份 log4j1 的接口類(Logger等),同時將實現類修改為 slf4j 了。

所以將 log4j 的(傳遞)依賴排除,同時引用 log4j-over-slf4j,就解決了這個 log4j 的問題。現在來修改下 pom 中的依賴(查看依賴圖可以使用 maven 的命令,或者是 IDEA 自帶的 Maven Dependencies Diagram,再或者 Maven Helper 之類的插件)。 

  1. <dependency>  
  2.   <groupId>org.apache.dubbo</groupId>  
  3.   <artifactId>dubbo-registry-zookeeper</artifactId>  
  4.   <version>2.7.9</version>  
  5.   <scope>compile</scope>  
  6.   <!--排除log4j-->  
  7.   <exclusions>  
  8.     <exclusion>  
  9.       <artifactId>log4j</artifactId>  
  10.       <groupId>log4j</groupId>  
  11.     </exclusion>  
  12.   </exclusions>  
  13. </dependency>  
  14. <!--增加log4j-slf4j -->  
  15. <dependency>  
  16.     <groupId>org.slf4j</groupId>  
  17.     <artifactId>log4j-over-slf4j</artifactId>  
  18.     <version>1.7.30</version>  
  19. </dependency> 

解決了log4j的問題之后,現在還有 slf4j 有兩個實現的問題,這個問題處理就更簡單了。由于我們計劃使用 logback,那么只需要排除/刪除 slf4j-log4j 這個實現的依賴即可。 

  1. <dependency>  
  2.   <groupId>org.apache.dubbo</groupId>  
  3.   <artifactId>dubbo-registry-zookeeper</artifactId>  
  4.   <version>2.7.9</version>  
  5.   <scope>compile</scope>  
  6.   <exclusions>  
  7.     <exclusion>  
  8.       <artifactId>log4j</artifactId>  
  9.       <groupId>log4j</groupId>  
  10.     </exclusion>  
  11.     <exclusion>  
  12.       <artifactId>slf4j-log4j12</artifactId>  
  13.       <groupId>org.slf4j</groupId>  
  14.     </exclusion>  
  15.   </exclusions>  
  16. </dependency> 

修改完成,再次啟動就沒有錯誤了,輕松解決問題

日志適配大全

上面只是介紹了一種轉換的方式,但這么多日志框架,它們之間是可以互相轉換的。

最終目的都是統一一套日志框架,讓最終的日志實現只有一套

這么多的日志適配/轉換方式,全記住肯定是有點難。請看下圖來搭配記憶,如果再遇到沖突,需要將一個日志框架轉換到另一款的時候,只需要按照圖上的路徑,引入相關的依賴包即可。

比如想把slf4j,適配/轉換到log4j2。按照圖上的路徑,只需要引用log4j-slf4j-impl即可。

如果想把jcl,適配/轉換到slf4j,只需要刪除jcl包,然后引用jcl-over-slf4j即可。

圖上的箭頭,有些標了文字的,是需要額外包進行轉換的,有些沒有標文字的,是內置了適配的實現。其實內置實現的這種會更麻煩,因為如果遇到共存基本都需要通過配置環境變量/配置額外屬性的方式來指定一款日志實現。

目前slf4j是適配方案中,最核心的那個框架,算是這個圖的中心樞紐。只要圍繞slf4j做適配/轉化,就沒有處理不了的沖突了。

總結

解決日志框架共存/沖突問題其實很簡單,只要遵循幾個原則:

  •  統一使用一套日志實現
  •  刪除多余的無用日志依賴
  •  如果有引用必須共存的話,那么就移除原始包,使用“over”類型的包(over類型的包復制了一份原始接口,重新實現)
  •  不能over的,使用日志抽象提供的指定方式,例如jboss-logging中,可以通過org.jboss.logging.provider環境變量指定一個具體的日志框架實現

項目里統一了日志框架之后,無論用那種日志框架打印,最終還是走向我們中轉/適配后的唯一一個日志框架。解決了共存/沖突之后,項目里就只剩一款日志框架。 

 

責任編輯:龐桂玉 來源: 程序員虎哥
相關推薦

2022-02-08 13:39:35

LinuxUNIX系統

2019-08-26 10:36:38

Python操作系統高考

2021-05-27 21:18:56

谷歌Fuchsia OS操作系統

2021-05-28 06:16:28

藍牙Wi-FiNFC

2022-08-21 14:00:11

消息中間件MQ

2020-12-01 10:18:16

RabbitMQ

2020-02-15 15:33:55

Python如何運作

2020-03-30 09:22:03

AI語音技術機器視覺

2018-05-09 16:25:20

關系型數據庫SQL Server

2021-04-23 14:49:31

云計算混合云

2024-12-10 13:00:00

C++引用

2022-01-25 12:41:31

ChromeResponse接口

2021-11-08 10:00:19

require前端模塊

2021-07-21 10:10:14

require前端代碼

2021-05-28 07:12:58

Mybatis面試官Java

2019-12-04 12:33:48

程序員技術設計

2018-01-31 10:24:45

熱插拔原理服務器

2021-03-22 09:27:44

PythonEXCEL熱點推薦

2020-12-07 11:05:21

HttpClient代碼Java

2018-06-08 10:12:10

Web緩存體系服務器
點贊
收藏

51CTO技術棧公眾號

在线成人www免费观看视频| 视频一区在线免费看| 国产高清亚洲一区| 97精品免费视频| 中文字幕人妻一区二区三区在线视频| 国产精品天堂蜜av在线播放| 亚洲免费av高清| 久久久久久久免费| 国产又粗又猛又爽又黄91| 韩国在线视频一区| 亚洲天堂网在线观看| 欧美视频亚洲图片| 亚洲一区站长工具| 亚洲日本护士毛茸茸| 精品一区二区不卡| av手机免费看| 日本少妇一区二区| 久久久久久久久网站| 亚洲色成人网站www永久四虎| 大胆国模一区二区三区| 欧美日韩国产在线播放| 四虎永久免费网站| 精品亚洲成a人片在线观看| 国产精品一区二区男女羞羞无遮挡 | 高清不卡在线观看| 国产精品久久久久久久久影视| 久久网免费视频| 91亚洲成人| 亚洲天堂影视av| 精品国产av色一区二区深夜久久| 免费观看亚洲视频大全| 欧美在线免费观看亚洲| a√天堂在线观看| 日本在线观看高清完整版| 国产精品久久影院| 日本一区二区三区免费看| 高h放荡受浪受bl| 激情成人午夜视频| 国产精品一久久香蕉国产线看观看| 日韩特黄一级片| 欧美视频久久| 久久国产精品首页| 久久免费手机视频| 色综合综合色| 国产视频久久网| 精品人妻一区二区三区日产| 亚洲精品在线a| 日韩亚洲欧美综合| jizz欧美性11| 福利一区在线| 欧美日韩国产一级| 成人性生交免费看| 欧洲午夜精品| 91精品婷婷国产综合久久竹菊| 污污的视频免费| 欧美午夜三级| 欧美高清激情brazzers| 黄色小视频免费网站| www.久久草.com| 欧美一区二区三区在线电影| 中文字幕日韩久久| 日韩免费一级| 欧美精品一区二区三区很污很色的 | 亚洲欧美日韩直播| 91视频在线网站| 欧美日韩国产高清电影| 中文字幕日韩精品在线观看| 自拍偷拍第9页| 一区二区三区毛片免费| 欧美激情极品视频| 日韩美女视频网站| 久久久人人人| 国产噜噜噜噜噜久久久久久久久| 国产精品综合在线| 丁香一区二区三区| 久久人人97超碰人人澡爱香蕉| 国产中文字幕在线播放| 国产精品久久久久久久蜜臀| 亚洲欧洲日韩综合二区| 日本高清在线观看视频| 欧美日韩国产精品专区| 三级视频中文字幕| 日韩第一区第二区| 日韩av在线免费播放| 91l九色lporny| 亚洲国产不卡| 91国语精品自产拍在线观看性色| 国产又粗又猛又黄视频| 麻豆成人久久精品二区三区小说| 51国产成人精品午夜福中文下载| 五月婷婷激情在线| 国产精品免费久久| 日本一本中文字幕| 国产精品毛片久久久久久久久久99999999 | 亚洲不卡1区| 亚洲色图美国十次| 性久久久久久久久久久久| 国产精品视频黄色| 高清日韩中文字幕| 中文字幕v亚洲ⅴv天堂| 国产在线视频你懂的| 日韩国产欧美在线视频| 不卡一区二区三区四区五区| 国产在线观看精品一区| 一区二区三区精品在线观看| 久久国产乱子伦免费精品| 国产电影一区二区| 亚洲免费伊人电影在线观看av| 蜜臀av午夜精品久久| 久久av在线| 91嫩草免费看| www.中文字幕久久久| 亚洲成年人网站在线观看| 成人日韩在线视频| 九九热线有精品视频99| 欧美精品18videos性欧| 夜夜躁狠狠躁日日躁av| 久久亚洲一区二区三区四区| 久久男人资源站| 久久av日韩| 亚洲欧美一区二区三区久久| 久久精品视频久久| 国精产品一区一区三区mba桃花| 欧美日韩国产综合视频在线| 乱插在线www| 91精品久久久久久久99蜜桃| 国产 欧美 在线| 亚洲久久视频| 国产精品二区三区四区| 国产成人午夜| 欧美片网站yy| 色噜噜噜噜噜噜| 日日欢夜夜爽一区| 久久婷婷国产综合尤物精品| 国产99re66在线视频| 5566中文字幕一区二区电影| 久久精品国产亚洲AV成人婷婷| 久久av在线| 欧美人与性禽动交精品| 九色porny丨入口在线| 欧美成人性战久久| 黄色在线观看免费| 国产成人自拍网| 99久久99久久精品| 国产精品麻豆| 萌白酱国产一区二区| 国产精品久久久久久久一区二区| 国产欧美日产一区| 久久婷婷国产精品| 日韩美女毛片| 538国产精品一区二区免费视频| 日本精品999| 香港成人在线视频| 人体私拍套图hdxxxx| 中文一区在线| 裸模一区二区三区免费| 在线男人天堂| 亚洲美女动态图120秒| 日本午夜视频在线观看| 99久久综合色| 精品人妻一区二区三区四区在线| 日韩三级av| 日韩美女在线观看| av在线播放av| 欧美一区二区三区在线观看| 精品无码m3u8在线观看| 成人精品高清在线| 久久婷婷五月综合色国产香蕉| 久久99国内| 国产在线精品播放| 曰本三级在线| 日韩av中文在线| 国产精品午夜一区二区| 国产精品美女一区二区| 亚洲精品国产久| 在线国产精品一区| 日本一区免费| 国产亚洲高清一区| 97欧美精品一区二区三区| 免费福利在线观看| 欧美精品在线观看播放| 免费在线观看av网址| 91亚洲精品乱码久久久久久蜜桃| 性欧美极品xxxx欧美一区二区| 性欧美69xoxoxoxo| 国内视频一区二区| 丁香婷婷久久| 午夜精品一区二区三区在线视频| 性久久久久久久久久久久| 精品欧美一区二区久久久伦| 波多野结衣亚洲一二三| 中文字幕日韩综合av| 97人妻精品一区二区三区视频| 亚洲老妇xxxxxx| 精品1卡二卡三卡四卡老狼| 久久国产日本精品| 小说区视频区图片区| 麻豆成人入口| 国产一区二区丝袜高跟鞋图片| 91香蕉在线观看| 亚洲美女自拍视频| 国产色视频在线| 欧美性猛交xxxx富婆弯腰| 91久久国产综合| 久久女同互慰一区二区三区| 亚洲va在线va天堂va偷拍| 夜夜嗨网站十八久久| 精品日韩一区二区| 黄色高清视频网站| 国产精品美女在线观看直播| 国产精品久久久久99| 欧美卡一卡二| 日韩在线播放一区| 神马久久久久| 日韩欧美色综合网站| 亚洲成人av网址| 亚洲福中文字幕伊人影院| 成年人免费视频播放| 91麻豆精品一区二区三区| 99精品视频国产| 日韩精品国产欧美| 国产九九九九九| 欧美在线看片| 亚洲视频小说| 国产一区二区三区日韩精品| 成人91免费视频| 国产精品.xx视频.xxtv| 欧美亚洲国产视频小说| 影音先锋中文在线视频| 色狠狠久久aa北条麻妃| 国产视频网站在线| 亚洲精品久久久久久下一站 | 99九九电视剧免费观看| 精品国产黄a∨片高清在线| 91干在线观看| 毛片网站在线看| 欧美另类老女人| 欧美日本高清| 最近2019免费中文字幕视频三 | 大型av综合网站| 成人性生交大片免费看小说| 成人精品动漫| 国产精品美女呻吟| 粉嫩一区二区三区| 国产不卡在线观看| 中文字幕不卡三区视频| 91精品国产91久久久久久久久 | 91超碰rencao97精品| 亚洲精品一区av| 成人乱人伦精品视频在线观看| 久久婷婷五月综合色丁香| 国产精品国产自产拍高清av水多| 日韩精品一区二区三区| 秋霞av国产精品一区| 高清不卡av| 国产成人精品亚洲精品| **欧美日韩在线观看| 国产精品极品尤物在线观看| 成人国产精品一区二区免费麻豆 | 亚洲无线观看| 96久久精品| 在线观看免费看片| 亚洲综合另类| 蜜臀av午夜一区二区三区| 99精品免费视频| 免费毛片小视频| 久久亚洲不卡| 天天干天天干天天干天天干天天干| 国产精品美女在线观看| 精品国产乱子伦| 一本色道久久综合亚洲91| 天天操中文字幕| 日本电影亚洲天堂一区| 最近中文字幕在线免费观看| 在线不卡欧美精品一区二区三区| 国产又粗又大又爽| 91精品国产综合久久香蕉的特点| 精品久久人妻av中文字幕| 精品国产一区二区三区忘忧草 | 中文字幕免费高清在线| 国产一区二区免费视频| 成人在线电影网站| 久久久.com| 午夜激情视频在线播放| 亚洲午夜av在线| 亚洲 欧美 成人| 欧美日韩一级片网站| 亚洲不卡免费视频| 亚洲片av在线| 中文字幕有码在线视频| 1769国产精品| 一区二区三区| 久久精品aaaaaa毛片| 欧美特黄一级大片| 国产91沈先生在线播放| 美女被久久久| 丰满少妇一区二区三区专区 | 欧美一区二区三区婷婷月色 | 伊人久久免费视频| 午夜伦理在线视频| 欧美怡春院一区二区三区| 日韩电影免费观看高清完整版在线观看| 99国产视频在线| 成人亚洲一区二区| www.av91| 精品一区二区综合| 人妻体内射精一区二区| 亚洲精品日韩专区silk| 日本成人一级片| 亚洲精品videossex少妇| 黄黄的网站在线观看| 日本精品久久久久久久| 亚洲一区二区三区免费| 日韩亚洲视频在线| aa级大片欧美三级| 国产老头和老头xxxx×| 中文字幕av一区二区三区高| 日韩欧美不卡视频| 日韩一区二区三区在线视频| 成人三级黄色免费网站| 91sa在线看| 亚洲国产一区二区三区网站| 亚洲精品久久区二区三区蜜桃臀| 国产精品毛片| 精品人妻在线视频| 亚洲免费视频成人| 亚洲视频在线免费播放| 亚洲美女福利视频网站| 久久久男人天堂| 超碰97在线资源| 欧美福利专区| 在线观看国产一级片| 久久青草国产手机看片福利盒子| 国产91av视频| 日韩美女视频在线| 国产在线观看91| 国产美女久久久| 欧洲杯足球赛直播| 久草综合在线观看| 久久嫩草精品久久久久| av大片免费观看| 亚洲国产第一页| 成人免费观看在线观看| 国产精品香蕉视屏| 欧美精品国产| 人妻巨大乳一二三区| 亚洲精品伦理在线| 国产福利视频导航| 欧美日韩ab片| 综合成人在线| 亚洲精品无码国产| av午夜一区麻豆| 国产无套丰满白嫩对白| 亚洲精品中文字| 日韩在线影院| 亚洲午夜精品一区二区三区| 麻豆精品视频在线观看视频| 黑人と日本人の交わりビデオ| 欧美亚洲一区二区在线观看| 成年人视频网站在线| 国产精品视频地址| 久久影院100000精品| 天天色天天综合网| 一区二区三区国产| 日本xxxx人| 国产91精品久久久久久久| 精品在线91| 乌克兰美女av| 尤物视频一区二区| 黄色小视频免费在线观看| 97视频在线观看视频免费视频 | 91麻豆精品国产综合久久久| 激情视频小说图片| 成人精品国产一区二区4080| 欧美一级片免费在线观看| 亚洲天堂久久av| 99精品国产九九国产精品| 成人性免费视频| 国产午夜精品一区二区三区四区| 一级黄在线观看| 羞羞色国产精品| 成人看的视频| 韩国黄色一级片| 色屁屁一区二区| 一色桃子av在线| 欧美成熟毛茸茸复古| 久久av中文字幕片| 日本一二三区视频| 一本色道久久综合狠狠躁篇怎么玩 | 91av在线免费观看| 成人黄色av| 男人网站在线观看| 在线观看视频一区二区欧美日韩| 成人影院在线观看| 久久精品综合一区| 奇米色一区二区| 日韩电影在线播放| 狠狠色丁香久久婷婷综合_中| 农村黄色一级片| 亚洲老司机av|