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

一文讀懂Logback的配置

開發 前端
為啥想著寫這個呢?是這樣,小六六每次搭建系統的時候,都會涉及到這塊的配置嘛,然后我發現我搭建了這么多次的系統,大部分的情況下,竟然是copy來完成的,然后這次搭建的過程中,又對這些配置又了點理解,所以打算給大家分享分享一些關鍵的點,讓大家多Java 項目的日志有一些更加深入的理解吧!

[[421672]]

前言

文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/bin392328206/six-finger

種一棵樹最好的時間是十年前,其次是現在

絮叨

為啥想著寫這個呢?是這樣,小六六每次搭建系統的時候,都會涉及到這塊的配置嘛,然后我發現我搭建了這么多次的系統,大部分的情況下,竟然是copy來完成的,然后這次搭建的過程中,又對這些配置又了點理解,所以打算給大家分享分享一些關鍵的點,讓大家多Java 項目的日志有一些更加深入的理解吧!當然這邊文章也得給大家清晰的理解logback的配置吧!盡量寫的直白點!文章打算沖以下幾個方面來描述

  • 官網文檔
  • logback.xml常用配置詳解
  • 一個小案例加深對配置的理解
  • logback.xml的參考配置(實戰)
  • 開發時,小六六自己的一些特殊的用法(實戰)

參考的文檔

開始就先給大家給貼下參考的文檔吧!不過我覺得你應該不會去看,哈哈。我也是一樣的,看不下去官方文檔

logback.xml常用配置詳解

常用節點結構圖:

相信大家對這個圖應該不陌生,就是我們再spring-logback.xml里面要配置的文件就是這幾個配置,下面我先來給大家講講細節

根節點 configuration

包含下面三個屬性

  • scan: 當此屬性設置為true時,配置文件如果發生改變,將會被重新加載,默認值為true。
  • scanPeriod: 設置監測配置文件是否有修改的時間間隔,如果沒有給出時間單位,默認單位是毫秒。當scan為true時,此屬性生效。默認的時間間隔為1分鐘。
  • debug: 當此屬性設置為true時,將打印出logback內部日志信息,實時查看logback運行狀態。默認值為false。
  1. <configuration scan="true" scanPeriod="60 seconds" debug="false">  
  2.     <!--其他配置省略-->  
  3. </configuration>  

子節點 appender

它的作用是負責寫日志的組件,它有兩個必要屬性name和class。name指定appender名稱,class指定appender的全限定名。

下面小六六帶大家來看看我們常見的幾種appender吧!工作上肯定用的到的

ConsoleAppender 把日志輸出到控制臺

encoder:對日志進行格式化。

  1. <appender name="console" class="ch.qos.logback.core.ConsoleAppender"
  2.    <encoder> 
  3.       <pattern>${CONSOLE_LOG_PATTERN}</pattern> 
  4.    </encoder> 
  5. </appender> 

 

 

FileAppender:把日志添加到文件

  • file:被寫入的文件名,可以是相對目錄,也可以是絕對目錄,如果上級目錄不存在會自動創建,沒有默認值。
  • append:如果是 true,日志被追加到文件結尾,如果是 false,清空現存文件,默認是true。
  • encoder:對記錄事件進行格式化。
  • prudent:如果是 true,日志會被安全的寫入文件,即使其他的FileAppender也在向此文件做寫入操作,效率低,默認是 false。
  1. <configuration>  
  2.       <appender name="FILE" class="ch.qos.logback.core.FileAppender">  
  3.         <file>testFile.log</file>  
  4.         <append>true</append>  
  5.         <encoder>  
  6.           <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>  
  7.         </encoder>  
  8.       </appender>  
  9.  
  10.       <root level="DEBUG">  
  11.       <appender-ref ref="FILE" />  
  12.       </root>  
  13.   </configuration> 

 

 

 

 

RollingFileAppender 滾動記錄文件,先將日志記錄到指定文件,當符合某個條件時,將日志記錄到其他文件 這個小六六覺得是用的最多的一個了

  • file:被寫入的文件名,可以是相對目錄,也可以是絕對目錄,如果上級目錄不存在會自動創建,沒有默認值。
  • append:如果是 true,日志被追加到文件結尾,如果是 false,清空現存文件,默認是true。
  • rollingPolicy:當發生滾動時,決定RollingFileAppender的行為,涉及文件移動和重命名。屬性class定義具體的滾動策略類

class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy":最常用的滾動策略,它根據時間來制定滾動策略,既負責滾動也負責出發滾動。

  1. <appender name="BILogger_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"
  2.    <file>${log.path}/dataBi.dat</file> 
  3.    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
  4.       <fileNamePattern>${log.path}/dataBi.dat.%d{yyyyMMdd}.gz</fileNamePattern> 
  5.       <maxHistory>30</maxHistory> 
  6.    </rollingPolicy> 
  7.    <encoder> 
  8.       <charset>UTF-8</charset> 
  9.       <pattern>%date|%msg%n</pattern> 
  10.    </encoder> 
  11. </appender> 

 

 

class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy":查看當前活動文件的大小,如果超過指定大小會告知RollingFileAppender 觸發當前活動文件滾動

  1. <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender"
  2.    <file>${log.path}/debug.log</file> 
  3.    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"
  4.       <fileNamePattern>${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> 
  5.       <maxFileSize>50MB</maxFileSize> 
  6.       <maxHistory>30</maxHistory> 
  7.    </rollingPolicy> 
  8.    <encoder> 
  9.       <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern> 
  10.    </encoder> 
  11. </appender> 

 

 

子節點 logger

用來設置某一個包或具體的某一個類的日志打印級別、以及指定。

  • logger僅有一個name屬性,一個可選的level和一個可選的addtivity屬性
  • 可以包含零個或多個元素,標識這個appender將會添加到這個logger。
  • name: 用來指定受此loger約束的某一個包或者具體的某一個類。
  • level: 用來設置打印級別,大小寫無關:TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,還有一個特殊值INHERITED或者同義詞NULL,代表強制執行上級的級別。如果未設置此屬性,那么當前loger將會繼承上級的級別。
  • addtivity: 是否向上級logger傳遞打印信息。默認是true。可以包含零個或多個appender-ref素,標識這個appender將會添加到這個logger。
  1. <!--  logger name 和spring配置一致  --> 
  2. <logger name="BILogger" level="INFO" additivity="true"
  3.    <appender-ref ref="BILogger_FILE" /> 
  4. </logger> 

像我們的bi日志,一般這種標準化,流程化的日志。

子節點root

它也是logger元素,但是它是根loger,是所有的上級。只有一個level屬性,因為name已經被命名為"root",且已經是最上級了。

  1. <root level="INFO"
  2.    <appender-ref ref="console"/> 
  3.    <appender-ref ref="debug"/> 
  4.    <appender-ref ref="error"/> 
  5. </root> 

好了,上面就是我們比較重要的幾個元素了,還有一兩個小元素的話,小六六這邊就沒給大家看了。

logback.xml配置示例

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <configuration debug="false"
  3.  
  4.     <!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑--> 
  5.     <property name="LOG_HOME" value="/home" /> 
  6.  
  7.     <!--控制臺日志, 控制臺輸出 --> 
  8.     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"
  9.         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"
  10.             <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度,%msg:日志消息,%n是換行符--> 
  11.             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> 
  12.         </encoder> 
  13.     </appender> 
  14.  
  15.     <!--文件日志, 按照每天生成日志文件 --> 
  16.     <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"
  17.         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
  18.             <!--日志文件輸出的文件名--> 
  19.             <FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern> 
  20.             <!--日志文件保留天數--> 
  21.             <MaxHistory>30</MaxHistory> 
  22.         </rollingPolicy> 
  23.         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"
  24.             <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> 
  25.             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> 
  26.         </encoder> 
  27.         <!--日志文件最大的大小--> 
  28.         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
  29.             <MaxFileSize>10MB</MaxFileSize> 
  30.         </triggeringPolicy> 
  31.     </appender> 
  32.  
  33.     <!-- show parameters for hibernate sql 專為 Hibernate 定制 --> 
  34.     <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" /> 
  35.     <logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" /> 
  36.     <logger name="org.hibernate.SQL" level="DEBUG" /> 
  37.     <logger name="org.hibernate.engine.QueryParameters" level="DEBUG" /> 
  38.     <logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /> 
  39.  
  40.     <!--myibatis log configure--> 
  41.     <logger name="com.apache.ibatis" level="TRACE"/> 
  42.     <logger name="java.sql.Connection" level="DEBUG"/> 
  43.     <logger name="java.sql.Statement" level="DEBUG"/> 
  44.     <logger name="java.sql.PreparedStatement" level="DEBUG"/> 
  45.  
  46.     <!-- 日志輸出級別 --> 
  47.     <root level="DEBUG"
  48.         <appender-ref ref="STDOUT" /> 
  49.         <appender-ref ref="FILE"/> 
  50.     </root> 
  51. </configuration> 

 

 

 

 

一個小案例加深對配置的理解

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <configuration debug="false"
  3.  
  4.     <!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑--> 
  5.     <property name="LOG_HOME" value="/home" /> 
  6.  
  7.     <!--控制臺日志, 控制臺輸出 --> 
  8.     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"
  9.         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"
  10.             <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度,%msg:日志消息,%n是換行符--> 
  11.             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> 
  12.         </encoder> 
  13.     </appender> 
  14.  
  15.     <!--文件日志, 按照每天生成日志文件 --> 
  16.     <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"
  17.         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
  18.             <!--日志文件輸出的文件名--> 
  19.             <FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern> 
  20.             <!--日志文件保留天數--> 
  21.             <MaxHistory>30</MaxHistory> 
  22.         </rollingPolicy> 
  23.         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"
  24.             <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> 
  25.             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> 
  26.         </encoder> 
  27.         <!--日志文件最大的大小--> 
  28.         <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"
  29.             <MaxFileSize>10MB</MaxFileSize> 
  30.         </triggeringPolicy> 
  31.     </appender> 
  32.  
  33.     <!-- show parameters for hibernate sql 專為 Hibernate 定制 --> 
  34.     <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" /> 
  35.     <logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" /> 
  36.     <logger name="org.hibernate.SQL" level="DEBUG" /> 
  37.     <logger name="org.hibernate.engine.QueryParameters" level="DEBUG" /> 
  38.     <logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /> 
  39.  
  40.     <!--myibatis log configure--> 
  41.     <logger name="com.apache.ibatis" level="TRACE"/> 
  42.     <logger name="java.sql.Connection" level="DEBUG"/> 
  43.     <logger name="java.sql.Statement" level="DEBUG"/> 
  44.     <logger name="java.sql.PreparedStatement" level="DEBUG"/> 
  45.  
  46.     <!-- 日志輸出級別 --> 
  47.     <root level="DEBUG"
  48.         <appender-ref ref="STDOUT" /> 
  49.         <appender-ref ref="FILE"/> 
  50.     </root> 
  51. </configuration> 

 

 

 

 

開發時,小六六自己的一些特殊的用法(實戰)

  • 第一個,就是在日志的時候加上traceId,這樣的好處就是可以把日志收集到日志平臺的時候,可以很好的查到整個流程
  1. <!--輸出到日志平臺 --> 
  2. <appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender"
  3.     <graylogHost>${graylogHost}</graylogHost> 
  4.     <graylogPort>${graylogPort}</graylogPort> 
  5.     <encoder class="de.siegmar.logbackgelf.GelfEncoder"
  6.         <originHost>${originHost}</originHost> 
  7.         <includeRawMessage>false</includeRawMessage> 
  8.         <includeMarker>true</includeMarker> 
  9.         <includeMdcData>true</includeMdcData> 
  10.         <includeCallerData>false</includeCallerData> 
  11.         <includeRootCauseData>false</includeRootCauseData> 
  12.         <includeLevelName>true</includeLevelName> 
  13.         <shortPatternLayout class="ch.qos.logback.classic.PatternLayout"
  14.             <pattern>%m%nopex</pattern> 
  15.         </shortPatternLayout> 
  16.         <fullPatternLayout class="ch.qos.logback.classic.PatternLayout"
  17.             <pattern>%m%n</pattern> 
  18.         </fullPatternLayout> 
  19.         <staticField>app_name:${appName}</staticField> 
  20.         <staticField>app_version:${appVersion}</staticField> 
  21.         <staticField>os_arch:${os.arch}</staticField> 
  22.         <staticField>os_name:${os.name}</staticField> 
  23.         <staticField>os_version:${os.version}</staticField> 
  24.         <staticField>uri:%X{uri}</staticField> 
  25.         <staticField>uid:%X{uid}</staticField> 
  26.         <staticField>ip:%X{ip}</staticField> 
  27.         <staticField>traceId:%X{traceId}</staticField> 
  28.     </encoder> 
  29. </appender> 

 

 

其中的原理是通過MDC實現的

  • 第二個就是,我們一些格式話的日志,做到數倉里面
  1. <!-- BI操作日志--> 
  2. <appender name="BILogger_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"
  3.    <file>${log.path}/dataBi.dat</file> 
  4.    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
  5.       <fileNamePattern>${log.path}/dataBi.dat.%d{yyyyMMdd}.gz</fileNamePattern> 
  6.       <maxHistory>30</maxHistory> 
  7.    </rollingPolicy> 
  8.    <encoder> 
  9.       <charset>UTF-8</charset> 
  10.       <pattern>%date|%msg%n</pattern> 
  11.    </encoder> 
  12. </appender> 
  13. <!-- DI操作日志--> 
  14. <appender name="DILogger_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"
  15.    <file>${log.path}/dataDi.dat</file> 
  16.    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
  17.       <fileNamePattern>${log.path}/dataDi.dat.%d{yyyyMMdd}.gz</fileNamePattern> 
  18.       <maxHistory>30</maxHistory> 
  19.    </rollingPolicy> 
  20.    <encoder> 
  21.       <charset>UTF-8</charset> 
  22.       <pattern>%date|%msg%n</pattern> 
  23.    </encoder> 
  24. </appender> 

 

 

類似于這種。。

結束

 

我是小六六,三天打魚,兩天曬網,今天就到這了哈!

 

責任編輯:武曉燕 來源: 六脈神劍的程序人生
相關推薦

2021-08-04 16:06:45

DataOps智領云

2023-12-22 19:59:15

2022-09-22 09:00:46

CSS單位

2025-04-03 10:56:47

2018-09-28 14:06:25

前端緩存后端

2022-11-06 21:14:02

數據驅動架構數據

2023-11-27 17:35:48

ComponentWeb外層

2022-07-05 06:30:54

云網絡網絡云原生

2023-05-20 17:58:31

低代碼軟件

2022-10-20 08:01:23

2022-12-01 17:23:45

2021-12-29 18:00:19

無損網絡網絡通信網絡

2025-10-14 09:01:20

2022-07-26 00:00:03

語言模型人工智能

2023-11-21 09:41:00

緩存策略存儲

2021-05-18 09:48:58

前端開發架構

2017-05-04 20:29:12

HTTP服務器TCP

2024-01-03 08:54:17

Kubernetes策略工具

2022-02-22 09:33:38

LIFO數據結構
點贊
收藏

51CTO技術棧公眾號

香蕉视频亚洲一级| 性一交一乱一伧老太| 波多野结衣一区| 欧美精品免费视频| 国产高清www| 调教视频免费在线观看| 懂色av一区二区三区蜜臀| 国产福利视频一区二区| 久久久综合久久久| 色97色成人| 亚洲精品aⅴ中文字幕乱码 | 国产一区导航| 理论片在线不卡免费观看| 中文字字幕码一二三区| 精品一区二区三区四区五区| 色成人在线视频| 国内精品在线观看视频| 乱人伦中文视频在线| 久久久欧美精品sm网站| 国产精品亚洲综合| 国产美女精品视频国产| 久久久久久自在自线| 久久久久久久色| 懂色av懂色av粉嫩av| 国产影视一区| 亚洲片国产一区一级在线观看| 极品白嫩少妇无套内谢| 成人免费91| 精品1区2区3区| 日日摸天天爽天天爽视频| 国产盗摄——sm在线视频| 91九色02白丝porn| 欧美成人国产一区二区| 蜜臀av午夜一区二区三区| 日韩av官网| 国产精品福利一区二区三区| 精品人伦一区二区三区| 99在线精品视频免费观看软件| 日韩精品亚洲一区二区三区免费| 992tv成人免费影院| 麻豆疯狂做受xxxx高潮视频| 欧美r级电影| 自拍偷拍亚洲一区| 貂蝉被到爽流白浆在线观看| 精品国产91乱码一区二区三区四区| 亚洲第一区在线| zjzjzjzjzj亚洲女人| 日本精品在线观看| 欧美成人猛片aaaaaaa| 黄色三级视频在线播放| 天天综合在线观看| 欧美精选一区二区| 小日子的在线观看免费第8集| 日本免费在线一区| 欧美丰满美乳xxx高潮www| 色免费在线视频| 欧美激情三区| 日韩一区二区三区在线| 中国老熟女重囗味hdxx| 伊人www22综合色| 精品美女一区二区三区| 午夜免费福利影院| 色老板在线视频一区二区| 日韩激情av在线播放| 亚洲激情视频小说| 色琪琪久久se色| 欧美插天视频在线播放| 亚洲精品在线观看av| 亚洲一区二区三区免费在线观看 | freexxx性亚洲精品| 亚洲超碰97人人做人人爱| 国产精品自拍片| 一二区成人影院电影网| 555夜色666亚洲国产免| 少妇极品熟妇人妻无码| 国偷自产视频一区二区久| 亚洲全黄一级网站| 日韩精品一区二区亚洲av性色 | 国产特级黄色大片| 日韩精品影片| 91精品国产综合久久久久久漫画 | 色综合天天天天做夜夜夜夜做| 久在线观看视频| 精品久久99| 精品国产免费一区二区三区香蕉| 亚洲欧美日本一区| 久久国产电影| 97香蕉久久超级碰碰高清版| 99精品在线播放| 国产在线国偷精品产拍免费yy| 国产精品入口免费| 亚乱亚乱亚洲乱妇| 欧美日韩国产一区在线| 日韩av在线中文| 麻豆一区二区| 久久久精品网站| 波多野结衣 久久| 国产精品一区二区三区乱码| 久久精品aaaaaa毛片| 麻豆传媒视频在线观看免费| 亚洲高清视频中文字幕| 亚洲老女人av| 色天天色综合| 欧美大片免费看| 在线不卡免费视频| av中文字幕在线不卡| 中文字幕一区二区中文字幕| 极品av在线| 日韩一级欧美一级| 中文字幕有码在线播放| 狠狠色丁香久久综合频道| 国产欧美日韩综合精品| 日韩欧美在线观看一区二区| 亚洲精品乱码久久久久久日本蜜臀| 国产日韩一区二区在线观看| 视频一区在线| 久久精品久久久久| 亚洲性猛交富婆| 91免费国产在线| 高清无码视频直接看| 成人国产精选| 亚洲天堂精品在线| 国产精品免费av一区二区| 狠狠色狠狠色合久久伊人| 欧美日韩亚洲综合一区二区三区激情在线| 色在线视频网| 欧美一区二区在线视频| 少妇高潮惨叫久久久久| 日韩专区中文字幕一区二区| 精品不卡一区二区三区| 日韩经典av| 日韩女优毛片在线| 男女性高潮免费网站| 另类中文字幕网| 午夜精品亚洲一区二区三区嫩草| 欧美7777| 亚洲色图欧美制服丝袜另类第一页 | 欧美韩一区二区| 欧美黑人xxxx| 国产自产一区二区| 一区二区激情小说| 激情成人在线观看| 欧美99在线视频观看| 91热福利电影| а√中文在线8| 日韩免费电影网站| 国产精品a成v人在线播放| 国产91高潮流白浆在线麻豆| 日本美女爱爱视频| 亚洲日本视频在线| 国外成人在线播放| 亚洲人成色777777老人头| 亚洲国产精品一区二区久久恐怖片| 国产亚洲精品成人a| 亚洲天堂久久| 欧美日韩一区在线观看视频| 蜜桃视频在线观看播放| 亚洲欧美国产va在线影院| 无码一区二区三区在线观看| 国产欧美精品一区aⅴ影院 | 亚洲图片在区色| 中文av免费观看| 亚洲欧美日韩一区二区 | 欧美高清不卡在线| 亚洲黄色在线免费观看| 午夜伦欧美伦电影理论片| 99re久久精品国产| 日韩国产高清在线| 国产av不卡一区二区| 成人h动漫免费观看网站| 午夜精品国产精品大乳美女| 理论视频在线| 4438x亚洲最大成人网| 少妇被躁爽到高潮无码文| 成人视屏免费看| 92看片淫黄大片一级| 日韩国产在线| 国产日韩在线一区二区三区| 日本不卡免费高清视频在线| 中文日韩在线观看| 丁香花免费高清完整在线播放| 欧美日韩一二三四五区| 四虎国产成人精品免费一女五男| 国产又粗又猛又爽又黄91精品| 男人的天堂avav| 国产尤物久久久| 92看片淫黄大片欧美看国产片| 91超碰在线播放| 日韩中文字幕亚洲| 亚洲aaa在线观看| 欧美高清一级片在线| 日本免费一二三区| 国产精品女同互慰在线看| 日韩精品视频一区二区| 老汉av免费一区二区三区| 免费看欧美一级片| 日韩一区二区中文| 蜜桃免费一区二区三区| 国产一区2区在线观看| 国产成人一区二区三区| 色帝国亚洲欧美在线| 在线国产精品视频| 婷婷av一区二区三区| 4438x亚洲最大成人网| 9i精品福利一区二区三区| 亚洲制服丝袜在线| 性爱在线免费视频| 久久久影院官网| 极品人妻一区二区| 久久精品国产成人一区二区三区 | 欧美一区二区视频在线播放| 日韩精品第一区| 欧美日韩成人一区二区三区| 亚洲天堂av资源在线观看| 国产欧美日韩中文字幕| 免费电影日韩网站| 91精品国产九九九久久久亚洲| 99在线视频观看| 色阁综合伊人av| 国产一二在线观看| 亚洲精品国产精品乱码不99按摩| av 一区二区三区| 3d成人动漫网站| 一二三四区在线| 欧美日精品一区视频| 神马久久久久久久| 日韩欧美国产高清91| 99精品视频99| 精品福利在线视频| 91精品国产乱码在线观看| 亚洲国产日韩在线一区模特| 清纯粉嫩极品夜夜嗨av| 一区二区日韩电影| 欧美激情国产精品免费| 一区二区三区成人| 国产一级一片免费播放放a| 亚洲一区二区三区自拍| 国产性猛交普通话对白| 亚洲综合免费观看高清完整版 | 久久国产精品无码一级毛片| 成人aa视频在线观看| 亚洲少妇一区二区三区| 成人性视频网站| 性囗交免费视频观看| gogo大胆日本视频一区| 免费a在线观看播放| 91色|porny| 无码一区二区三区在线| 国产精品天天摸av网| 欧美美女性生活视频| 自拍偷拍欧美精品| 久久一级黄色片| 午夜精品久久久| 欧美黑人一区二区| 欧美亚州韩日在线看免费版国语版| 99re热视频| 欧美一区二区三区视频免费播放| 精品黑人一区二区三区在线观看| 日韩精品影音先锋| 天天干天天爱天天操| 亚洲欧美日韩中文视频| av在线免费一区| 久久在线精品视频| 韩日毛片在线观看| 日本久久久a级免费| 日本免费在线一区| 国产日本一区二区三区| 免费一区二区| 一区二区在线不卡| 亚洲精品三级| 成 人 黄 色 小说网站 s色| 国产一区二区三区四区五区入口| 人妻av一区二区| 欧美国产激情一区二区三区蜜月| 免费成人深夜夜行网站| 亚洲成人黄色影院| 中文字幕视频二区| 欧美成人vr18sexvr| 神马久久精品| 久久夜精品va视频免费观看| 国产精品蜜臀| 国产精品欧美激情在线播放| 欧美9999| 日韩欧美一区二区三区久久婷婷| 亚洲精品二区三区| 成人在线看视频| 国产精品影音先锋| 久久久久久九九九九九| 亚洲激情综合网| 波多野结衣啪啪| 日韩欧美激情一区| 精品福利视频导航大全| 欧美精品性视频| a∨色狠狠一区二区三区| 国产精品久久久久久久久久直播 | 色综合久久久久久中文网| 都市激情综合| 懂色中文一区二区三区在线视频| 精品久久91| 亚洲自偷自拍熟女另类| 国内精品国产三级国产a久久| 精品人妻互换一区二区三区| 亚洲制服丝袜一区| 国产精品一区二区黑人巨大| 精品亚洲aⅴ在线观看| 欧美1234区| 成人做爰www免费看视频网站| 一本色道久久综合狠狠躁的番外| 欧美精品在欧美一区二区| 久久精品国产亚洲高清剧情介绍| 五月婷婷综合在线观看| 亚洲图片一区二区| 精品国产18久久久久久| 中文字幕在线看视频国产欧美| 亚洲人成在线网站| 精品乱码一区二区三区| 亚洲午夜电影| 91丨porny丨九色| 亚洲色图欧洲色图| 91亚洲欧美激情| 中文综合在线观看| 激情久久一区二区| 神马影院一区二区| 日韩av不卡在线观看| 最新中文字幕视频| 精品欧美激情精品一区| 四虎精品一区二区三区| 欧美黑人xxxx| 国产欧美一区二区三区米奇| 亚洲啊啊啊啊啊| 国产制服丝袜一区| av成人免费网站| 欧美一区二区三区在线视频| 美女免费久久| 亚洲www在线| 午夜日韩av| 动漫美女无遮挡免费| 亚洲成人一区在线| 婷婷av一区二区三区| 51精品国产黑色丝袜高跟鞋| 青青草原在线亚洲| 欧美 日韩 国产一区| 91美女精品福利| 黄色一级视频免费看| 亚洲天堂av网| 日本午夜免费一区二区| 黄色一级视频播放| 国产精品18久久久| 久久久久久久99| 日韩成人在线视频观看| 国产综合色区在线观看| 天堂av一区二区| 国产在线播放一区| 国产一级一级片| 亚洲欧美国产精品va在线观看| 色综合天天色| 免费观看黄色的网站| 成人丝袜高跟foot| 欧美一级特黄视频| 在线看片第一页欧美| 国产精品久久久久久久久久久久久久久| 激情五月五月婷婷| aaa欧美日韩| 中文字幕精品无码亚| 美日韩精品视频免费看| 欧美在线导航| 九热视频在线观看| 一区二区三区蜜桃| 丝袜视频国产在线播放| 国产精品一区专区欧美日韩| 午夜精品久久| 男人天堂av电影| youjizzjizz亚洲| 日韩伦理一区二区三区av在线| 老司机免费视频一区二区三区| 久久免费少妇高潮99精品| 亚洲女人天堂色在线7777| 在线播放成人| 精品一区二区中文字幕| 中文字幕亚洲综合久久菠萝蜜| 亚洲精品一区二区三区四区| 日韩免费av在线| 欧美福利专区| 微拍福利一区二区| 精品少妇一区二区三区免费观看 | 国产精品久久久久久久av| 欧美一区二区三区色| 欧美大片免费| 欧美中日韩在线| 中文字幕一区二区三区精华液| 日本精品一二区| 91午夜理伦私人影院| 噜噜噜在线观看免费视频日韩| 一区二区成人免费视频| 亚洲一二三在线| 给我免费播放日韩视频| 日本黄色福利视频| 欧美午夜www高清视频| 人人超在线公开视频| 亚洲日本理论电影|