精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产一区二区三区亚洲综合| 午夜激情视频在线观看| 久久久久久黄| 国产一区二区三区免费视频| 日韩成人av免费| 高清视频在线观看三级| 欧美经典一区二区| 99re视频在线| www.久久视频| 韩日精品视频| 国产亚洲精品91在线| 激情成人在线观看| 日本成人片在线| 亚洲一区av在线| 亚洲精品tv久久久久久久久| 亚洲国产精品国自产拍久久| 日一区二区三区| 欧美精品福利视频| 国产午夜精品理论片| 亚洲国产网址| 精品成人佐山爱一区二区| 日本在线一二三区| 欲香欲色天天天综合和网| 亚洲精品亚洲人成人网在线播放| 欧美日韩亚洲一区二区三区四区| 精品国产乱码久久久久久蜜臀网站| 视频一区欧美日韩| 45www国产精品网站| 麻豆一区产品精品蜜桃的特点 | a毛片在线观看| 久久久亚洲午夜电影| 丁香婷婷久久久综合精品国产 | 97在线观看免费高| 波多野结衣在线观看一区二区三区 | 免费看a级黄色片| 97蜜桃久久| 亚洲黄一区二区三区| 宅男噜噜99国产精品观看免费| 亚洲欧美综合一区二区| 丁香啪啪综合成人亚洲小说| 亚洲va电影大全| 91av久久久| 青青草国产精品亚洲专区无| 日本高清不卡在线| 精品国产一区二区三区四| 日韩视频一区| 97在线日本国产| 国产在线拍揄自揄拍| 欧美精品日本| 九九热这里只有精品6| 国产精品老熟女一区二区| 亚洲v在线看| 久久久久北条麻妃免费看| 精品在线观看一区| 欧美jizz| 久久亚洲精品视频| 超碰手机在线观看| 一区二区三区中文| 欧美区在线播放| 丰满少妇高潮久久三区| 欧美性色综合| 午夜精品久久久久久99热| 国产成人亚洲欧洲在线| 99re国产精品| 日韩美女写真福利在线观看| 一级片免费在线播放| 老妇喷水一区二区三区| 国产精品视频免费在线观看| ,一级淫片a看免费| 国产成人免费视| 国产伦精品一区二区三区免费视频| 好吊色一区二区| 久久综合国产精品| 亚洲一区二区高清视频| a黄色片在线观看| 性感美女极品91精品| 日本不卡在线观看视频| 日本美女久久| 欧美一区二区视频网站| www.88av| 成人一区二区| 欧美贵妇videos办公室| 最新中文字幕一区| 麻豆极品一区二区三区| 国产91aaa| 国产高清在线看| 亚洲色欲色欲www| 国产青青在线视频| 国产成+人+综合+亚洲欧美| 欧美一区日韩一区| 丰满少妇一区二区三区| 亚洲草久电影| 奇米成人av国产一区二区三区| 中文字幕a级片| 国产99精品国产| 日韩视频专区| 91美女精品| 欧美日韩成人一区二区| 亚洲成人av免费在线观看| 日韩电影免费网址| 久久久免费电影| 一级黄色大毛片| aa级大片欧美| 99久久99久久精品| 香蕉成人影院| 日韩av影视综合网| 婷婷久久综合网| 丝袜国产日韩另类美女| 国产精品视频500部| 日韩三级影院| 色呦呦国产精品| 少妇极品熟妇人妻无码| 日韩激情免费| 日本亚洲欧美成人| 亚洲精品久久久狠狠狠爱| 欧美国产日本韩| 久久精品国产精品亚洲色婷婷| 国产精品久久久久久久久久久久久久久 | 自拍偷拍激情视频| 成人精品视频| 日本精品视频网站| 成人免费公开视频| 一区二区三区色| 在线观看国产中文字幕| 在线观看欧美理论a影院| 欧美精品激情blacked18| 亚洲自拍偷拍另类| 国产人成亚洲第一网站在线播放| a级黄色一级片| 99久久香蕉| 欧美激情亚洲自拍| wwwxxxx国产| 亚洲激情一二三区| 杨幂一区二区国产精品| 亚洲91中文字幕无线码三区| 成人国产在线激情| 日韩av中文| 日本电影亚洲天堂一区| 成人免费毛片糖心| 欧美综合二区| 日韩久久不卡| 欧美黑人一区| 国产亚洲精品激情久久| 亚洲av无码精品一区二区| 久久你懂得1024| 一本久道综合色婷婷五月| 亚州综合一区| 欧美性一区二区三区| 天堂资源中文在线| 色诱亚洲精品久久久久久| 西西444www无码大胆| 玖玖精品视频| 四虎永久在线精品免费一区二区| 成人自拍视频网| 久久精品国产清自在天天线| 国产精品视频第一页| 亚洲欧美日韩国产综合在线| 亚洲免费在线播放视频| 午夜精品亚洲| 国产日韩欧美一区二区| 午夜av不卡| 中文字幕不卡在线视频极品| 国产精品欧美久久久久天天影视| 一区二区视频免费在线观看| 日本一本在线视频| 精品动漫3d一区二区三区免费| 国产精品视频500部| 刘亦菲一区二区三区免费看| 亚洲色图日韩av| 亚洲一区二区色| 一区二区三区国产精品| 一出一进一爽一粗一大视频| 久久亚洲不卡| 久久天天东北熟女毛茸茸| 98视频精品全部国产| 国模gogo一区二区大胆私拍 | 久久久伊人日本| 日韩私人影院| 欧美日韩一本到| 久久免费视频精品| 久久色.com| 男女视频在线观看网站| aⅴ色国产欧美| 亚洲欧美成人一区| 在线播放一区二区精品视频| 日韩美女在线看| 91麻豆免费在线视频| 国产丝袜一区二区三区| 国产三级小视频| 欧美性猛交xxxx| 国产精品免费人成网站酒店| proumb性欧美在线观看| 高清一区在线观看| 在线高清一区| 在线观看欧美激情| 日韩在线黄色| 97神马电影| 成人午夜精品| 国语自产偷拍精品视频偷| 98在线视频| 亚洲精品久久久久国产| 国产三级三级在线观看| 日本久久一区二区| 国产精品99精品| 18成人在线观看| 天堂久久精品忘忧草| 粉嫩av亚洲一区二区图片| 向日葵污视频在线观看| 国产精品亚洲欧美| 日韩成人午夜影院| 久久国产中文字幕| 欧美精品久久久| 国产伦精品一区二区三区免费优势 | 中文字字幕在线中文| 一区二区三区免费网站| 亚洲精品天堂网| 久久久99精品久久| 超碰97在线资源站| 粉嫩高潮美女一区二区三区| 在线播放免费视频| 美女视频网站黄色亚洲| www.日日操| 性xx色xx综合久久久xx| 欧美不卡在线播放| 亚洲图片在线| 男人天堂av片| 欧美日韩国产高清| 最新中文字幕久久| 99热在线成人| 一区二区免费在线视频| 欧美日韩第一| 色之综合天天综合色天天棕色| 欧美变态挠脚心| 精品不卡一区二区三区| 成人黄色av网址| 国产精品久久一区二区三区| 亚洲国产一区二区三区网站| 91影视免费在线观看| 亚洲综合资源| 成人久久久久久| 99热这里有精品| 亚洲一区二区三区视频播放| 国产精品xnxxcom| 91在线看www| 视频一区视频二区欧美| 91超碰rencao97精品| 一区二区三区四区高清视频 | 欧美日韩国产在线播放| 国产午夜精品无码一区二区| 亚洲制服丝袜av| 国产手机在线视频| 日韩欧美中文字幕在线播放| av大全在线观看| 欧美日韩在线一区二区| 91片黄在线观看喷潮| 日韩视频免费直播| 女人18毛片水真多18精品| 亚洲国产中文字幕久久网| 天堂а√在线8种子蜜桃视频| 精品中文字幕久久久久久| 男同在线观看| 最近2019免费中文字幕视频三 | 一级片免费在线观看视频| 国产成人在线视频免费播放| 私密视频在线观看| 国产欧美精品一区| 韩国一级黄色录像| 亚洲黄色录像片| 久久亚洲天堂网| 精品视频在线免费看| 国产欧美日韩成人| 亚洲第一色在线| www.91在线| 欧美成人精品xxx| 妞干网免费在线视频| 国产精品第1页| 日韩综合一区二区三区| 欧美不卡福利| 先锋资源久久| 精品久久久久久久久久中文字幕| 久久美女性网| 四川一级毛毛片| 久久久久久日产精品| 91麻豆精品成人一区二区| 亚洲成年人网站在线观看| 人人妻人人爽人人澡人人精品 | 青青草原播放器| 91毛片在线观看| 2014亚洲天堂| 精品久久久久久久久中文字幕 | 精品久久毛片| 国产精选在线观看91| 欧美日韩黑人| 日本黄色片一级片| 美日韩一区二区三区| av免费观看不卡| 国产精品久久久久久妇女6080 | 免费久久99精品国产自在现线| 2025韩国理伦片在线观看| www.在线欧美| 国产美女福利视频| 在线观看日韩电影| 国精品人妻无码一区二区三区喝尿 | 黄色免费在线看| 日本成人激情视频| 成人涩涩网站| 黄色网络在线观看| 日本在线观看不卡视频| 国产美女视频免费观看下载软件| 国产精品久久久久影院色老大| 天天操天天干视频| 日韩欧美在线123| 性开放的欧美大片| 国产成人av在线| 精品素人av| 欧美国产视频一区| 韩国三级在线一区| 国产真人真事毛片视频| 高跟丝袜欧美一区| 成人免费一级视频| 欧美另类老女人| 视频欧美精品| 一个色的综合| 蜜臀va亚洲va欧美va天堂| 波多野在线播放| 欧美性猛交xxxx免费看漫画| 无码国产伦一区二区三区视频| 欧美成人精品在线观看| 高清久久一区| 99精品视频网站| 狠狠色丁香久久婷婷综合丁香| 亚洲自拍偷拍图| 欧美伊人久久久久久午夜久久久久| 午夜性色福利视频| 国语自产精品视频在线看抢先版图片| 美女精品久久| 欧美精品一区二区性色a+v| 精品一区二区三区免费视频| 黄色av片三级三级三级免费看| 色八戒一区二区三区| 你懂的视频在线| 91精品国产91久久| 神马午夜久久| 欧美视频免费播放| 国产女人aaa级久久久级| 久久精品五月天| 夜夜嗨av一区二区三区免费区 | 欧美xfplay| av岛国在线| 久久国产主播精品| 丝袜美腿亚洲色图| 国产福利在线导航| 91精品一区二区三区在线观看| h片在线免费| 国产福利久久精品| 99精品热视频只有精品10| 国产福利短视频| 欧洲亚洲精品在线| 国产调教视频在线观看| 福利精品视频| 国产精品美女久久久| 天天躁日日躁aaaa视频| 欧美日韩一区二区欧美激情 | 国产探花一区在线观看| 亚洲污视频在线观看| 最新中文字幕一区二区三区| 精品国产无码一区二区| 国内伊人久久久久久网站视频| 女同久久另类99精品国产| 成人午夜视频免费在线观看| 中文字幕第一区综合| av一级黄色片| 欧美亚洲国产日韩2020| 欧美成人milf| 成年女人免费视频| 日韩欧美中文字幕在线观看| 最新真实国产在线视频| 成人免费视频网站入口| 米奇777在线欧美播放| av在线免费播放网址| 欧美精品一区二区三区很污很色的| 色综合一本到久久亚洲91| 大地资源第二页在线观看高清版| 成人毛片在线观看| 波多野结衣一区二区三区在线| 欧美大奶子在线| 国产成人3p视频免费观看| 日韩精品――色哟哟| 91福利在线导航| 久久不射影院| 亚洲日本精品| 99国内精品久久| 国产高清在线观看视频| 国产成人精品视频在线| 国内精品久久久久久久影视麻豆| 日本二区在线观看| 精品国产髙清在线看国产毛片| 99只有精品| 成年人视频网站免费观看| 亚洲精品视频在线|