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

了解Java日志系統(tǒng)框架的設(shè)計與實現(xiàn)

開發(fā) 后端
日志系統(tǒng)通常會在多線程環(huán)境中使用,特別是在Java系統(tǒng)當(dāng)中,因此作為一種系統(tǒng)資源,日志系統(tǒng)應(yīng)當(dāng)保證是線程安全的,這是日志系統(tǒng)框架的基本功能之一。

Java領(lǐng)域,存在大量的日志組件,open-open收錄了21個日志組件。日志系統(tǒng)作為一種應(yīng)用程序服務(wù),對于跟蹤調(diào)試、程序狀態(tài)記錄、崩潰數(shù)據(jù)恢復(fù)都有著重要的作用,我們可以把Java日志系統(tǒng)看作是必不可少的跟蹤調(diào)試工具

1.簡介

日志系統(tǒng)是一種不可或缺的跟蹤調(diào)試工具,特別是在任何無人職守的后臺程序以及那些沒有跟蹤調(diào)試環(huán)境的系統(tǒng)中有著廣泛的應(yīng)用。長期以來,日志系統(tǒng)作為一種應(yīng)用程序服務(wù),對于跟蹤調(diào)試、程序狀態(tài)記錄、崩潰數(shù)據(jù)恢復(fù)都有非常現(xiàn)實的意義。這種服務(wù)通常以兩種方式存在:

1.日志系統(tǒng)作為服務(wù)進程存在。Windows中的的事件日志服務(wù)就屬于這種類型,該類型的日志系統(tǒng)通常通過消息隊列機制將所需要記錄的日志由日志發(fā)送端發(fā)送給日志服務(wù)。日志發(fā)送端和日志保存端通常不在同一進程當(dāng)中,日志的發(fā)送是異步過程。這種日志服務(wù)通常用于管理員監(jiān)控各種系統(tǒng)服務(wù)的狀態(tài)。

2.日志系統(tǒng)作為系統(tǒng)調(diào)用存在。Java世界中的日志系統(tǒng)和Unix環(huán)境下諸多守護進程所使用的日志系統(tǒng)都屬于這種類型。日志系統(tǒng)的代碼作為系統(tǒng)調(diào)用被編譯進日志發(fā)送端,日志系統(tǒng)的運行和業(yè)務(wù)代碼的運行在同一進程空間。日志的發(fā)送多數(shù)屬于同步過程。這種日志服務(wù)由于能夠同步反映處系統(tǒng)運行狀態(tài),通常用于調(diào)試跟蹤和崩潰恢復(fù)。

本文建立的日志系統(tǒng)基本屬于第二種類型,但又有所不同。該日志系統(tǒng)將利用Java線程技術(shù)實現(xiàn)一個既能夠反映統(tǒng)一線程空間中程序運行狀態(tài)的同步日志發(fā)送過程,又能夠提供快速的日志記錄服務(wù),還能夠提供靈活的日志格式配置和過濾機制。

1.1系統(tǒng)調(diào)試的誤區(qū)

在控制臺環(huán)境上調(diào)試Java程序時,此時往控制臺或者文本文件輸出一段文字是查看程序運行狀態(tài)最簡單的做法,但這種方式并不能解決全部的問題。有時候,對于一個我們無法實時查看系統(tǒng)輸出的系統(tǒng)或者一個確實需要保留我們輸出信息的系統(tǒng),良好的日志系統(tǒng)顯得相當(dāng)必要。因此,不能隨意的輸出各種不規(guī)范的調(diào)試信息,這些隨意輸出的信息是不可控的,難以清除,可能為后臺監(jiān)控、錯誤排除和錯誤恢復(fù)帶來相當(dāng)大的阻力。

1.2日志系統(tǒng)框架的基本功能

一個完備的日志系統(tǒng)框架通常應(yīng)當(dāng)包括如下基本特性:

所輸出的日志擁有自己的分類:這樣在調(diào)試時便于針對不同系統(tǒng)的不同模塊進行查詢,從而快速定位到發(fā)生日志事件的代碼。

日志按照某種標(biāo)準(zhǔn)分成不同級別:分級以后的日志,可以用于同一分類下的日志篩選。

支持多線程:日志系統(tǒng)通常會在多線程環(huán)境中使用,特別是在Java系統(tǒng)當(dāng)中,因此作為一種系統(tǒng)資源,日志系統(tǒng)應(yīng)當(dāng)保證是線程安全的。

支持不同的記錄媒介:不同的工程項目往往對日志系統(tǒng)的記錄媒介要求不同,因此日志系統(tǒng)必須提供必要的開發(fā)接口,以保證能夠比較容易的更換記錄介質(zhì)。

高性能:日志系統(tǒng)通常要提供高速的日志記錄功能以應(yīng)對大系統(tǒng)下大請求流量下系統(tǒng)的正常運轉(zhuǎn)。

穩(wěn)定性:日志系統(tǒng)必須是保持高度的穩(wěn)定性,不能因為日志系統(tǒng)內(nèi)部錯誤導(dǎo)致主要業(yè)務(wù)代碼的崩潰。

1.3常用日志系統(tǒng)簡介

在Java世界中,以下三種日志框架比較優(yōu)秀:

1)Log4J

最早的Java日志框架之一,由Apache基金會發(fā)起,提供靈活而強大的日志記錄機制。但是其復(fù)雜的配置過程和內(nèi)部概念往往令使用者望而卻步。

2)JDK1.4LoggingFramework

繼Log4J之后,JDK標(biāo)準(zhǔn)委員會將Log4J的基本思想吸收到JDK當(dāng)中,在JDK1.4中發(fā)布了第一個日志框架接口,并提供了一個簡單實現(xiàn)。

3)CommonsLoggingFramwork

該框架同樣是Apache基金會項目,其出現(xiàn)主要是為了使得Java項目能夠在Log4J和JDK1.4lLoggingFramework的使用上隨意進行切換,因此該框架提供了統(tǒng)一的調(diào)用接口和配置方法。 #p#

2.系統(tǒng)設(shè)計

由于Log4J得到廣泛應(yīng)用,從使用者的角度考慮,本文所設(shè)計的框架,采用了部分Log4J的接口和概念,但內(nèi)部實現(xiàn)則完全不同。使用Java實現(xiàn)日志框架,關(guān)鍵的技術(shù)在于前面提及的日志框架特性的內(nèi)部實現(xiàn),特別是:日志的分類和級別、日志分發(fā)框架的設(shè)計、日志記錄器的設(shè)計以及在設(shè)計中的高性能和高穩(wěn)定性的考慮。

2.1系統(tǒng)架構(gòu)

日志系統(tǒng)框架可以分為日志記錄模塊和日志輸出模塊兩大部分。日志記錄模塊負(fù)責(zé)創(chuàng)建和管理日志記錄器(Logger),每一個Logger對象負(fù)責(zé)按照不同的級別(LoggerLevel)接收各種記錄了日志信息的日志對象(LogItem),Logger對象首先獲取所有需要記錄的日志,并且同步地將日志分派給日志輸出模塊。日志輸出模塊則負(fù)責(zé)日志輸出器(Appender)的創(chuàng)建和管理,以及日志的輸出。系統(tǒng)中允許有多個不同的日志輸出器,日志輸出器負(fù)責(zé)將日志記錄到存儲介質(zhì)當(dāng)中。系統(tǒng)結(jié)構(gòu)如下圖1所示:

系統(tǒng)結(jié)構(gòu)圖

下圖2使用UML類圖給出了日志系統(tǒng)的架構(gòu):

日志系統(tǒng)的架構(gòu)

在圖2給出的架構(gòu)中,日志記錄器Logger是整個日志系統(tǒng)框架的用戶使用接口,程序員可以通過該接口記錄日志,為了實現(xiàn)對日志進行分類,系統(tǒng)設(shè)計允許存在多個Logger對象,每一個Logger負(fù)責(zé)一類日志的記錄,Logger類同時實現(xiàn)了對其對象本身的管理。LoggerLevel類定義了整個日志系統(tǒng)的級別,在客戶端創(chuàng)建和發(fā)送日志時,這些級別會被使用到。Logger對象在接收到客戶端創(chuàng)建和發(fā)送的日志消息時,同時將該日志消息包裝成日志系統(tǒng)內(nèi)部所使用的日志對象LogItem,日志對象除了發(fā)送端所發(fā)送的消息以外,還會包裝諸如發(fā)送端類名、發(fā)送事件、發(fā)送方法名、發(fā)送行號等等。這些額外的消息對于系統(tǒng)的跟蹤和調(diào)試都非常有價值。包裝好的LogItem最終被發(fā)送給輸出器,由這些輸出器負(fù)責(zé)將日志信息寫入最終媒介,輸出器的類型和個數(shù)均不固定,所有的輸出器通過AppenderManager進行管理,通常通過配置文件即可方便擴展出多個輸出器。

2.2日志記錄部分的設(shè)計

如前文所述,日志記錄部分負(fù)責(zé)接收日志系統(tǒng)客戶端發(fā)送來的日志消息、日志對象的管理等工作。下面詳細(xì)描述了日志記錄部分的設(shè)計要點:

1.日志記錄器的管理

系統(tǒng)通過保持多個Logger對象的方式來進行日志記錄的分類。每一個Logger對象代表一類日志分類。因此,Logger對象的名稱屬性是其唯一標(biāo)識,通過名稱屬性獲取一個Logger對象:

 

  1. LoggerLoggerlogger=Logger.getLogger(“LoggerName”); 

一般的,使用類名來作為日志記錄器的名稱,這樣做的好處在于能夠盡量減少日志記錄器命名之間的沖突(因為Java類使用包名),同時能夠?qū)⑷罩居涗浄诸惖帽M可能的精細(xì)。因此,假定有一UserManager類需要使用日志服務(wù),則更一般的使用方式為:

 

  1. LoggerLoggerlogger=Logger.getLogger(UserManager.class); 

2.日志分級的實現(xiàn)

按照日志目的不同,將日志的級別由低到高分成五個級別:

◆DEBUG-表示輸出的日志為一個調(diào)試信息;

◆INFO-表示輸出的日志是一個系統(tǒng)提示;

◆WARN-表示輸出的日志是一個警告信息;

◆ERROR-表示輸出的日志是一個系統(tǒng)錯誤;

◆FATAL-表示輸出的日志是一個導(dǎo)致系統(tǒng)崩潰嚴(yán)重錯誤。

這些日志級別定義在LoggerLevel接口中,被日志記錄器Logger在內(nèi)部使用。而對于日志系統(tǒng)客戶端則可使用Logger類接口對直接調(diào)用并輸出這些級別的日志,Logger的這些接口描述如下:

 

  1. publicvoiddebug(Stringmsg);//輸出調(diào)試信息  
  2. publicvoidinfo(Stringmsg);//輸出系統(tǒng)提示  
  3. publicvoidwarn(Stringmsg);//輸出警告信息  
  4. publicvoidfatal(Stringmsg);//輸出系統(tǒng)錯誤  
  5. publicvoiderror(Stringmsg);//輸出嚴(yán)重錯誤 

通過對Logger對象上這些接口的調(diào)用,直接為日志信息賦予了級別屬性,這樣為后繼的按照不同級別進行輸出的工作奠定了基礎(chǔ)。

3.日志對象信息的獲取

日志對象上包含了一條日志所具備的所有信息。通常這些信息包括:輸出日志的時間、Java類、類成員方法、所在行號、日志體、日志級別等等。在JDK1.4中可以通過在方法中拋出并且捕獲住一個異常,則在捕捉到的異常對象中已經(jīng)由JVM自動填充好了系統(tǒng)調(diào)用的堆棧,在JDK1.4中則可以使用java.lang.StackTraceElement獲取到每一個堆棧項的基本信息,通過對日志客戶端輸出日志方法調(diào)用層數(shù)的推算,則可以比較容易的獲取到StackTraceElement對象,從而獲取到輸出日志時的Java類、類成員方法、所在行號等信息。在JDK1.3或者更早的版本中,相應(yīng)的工作則必須通過將異常的堆棧信息輸出到字符串中,并分析該字符串格式得到。 #p#

2.3日志輸出部分的設(shè)計

日志輸出部分的設(shè)計具有一定的難度,在本文設(shè)計的日志系統(tǒng)中,日志的輸出、多線程的支持、日志系統(tǒng)的擴展性、日志系統(tǒng)的效率等問題都交由日志輸出部分進行管理。

1.日志輸出器的繼承結(jié)構(gòu)

在日志的輸出部分采用了二層結(jié)構(gòu),即定義了一個抽象的日志輸出器(AbstractLoggerAppender),然后從該抽象類繼承出實際的日志輸出器。AbstractLoggerAppender定義了一系列的對日志進行過濾的方法,而具體輸出到存儲媒介的方法則是一個抽象方法,由子類實現(xiàn)。在系統(tǒng)中默認(rèn)實現(xiàn)了控制臺輸出器和文件輸出器兩種,其中控制臺輸出器的實現(xiàn)頗為簡單。

2.文件輸出器的內(nèi)部實現(xiàn)

在日志記錄部分的實現(xiàn)中,并沒有考慮多線程、高效率等問題,因此文件輸出器必須考慮這些問題的處理。在文件輸出器內(nèi)部使用java.lang.Vector定義了一個線程安全的高速緩沖,所有通過日志記錄部分分派到文件輸出器的日志被直接放置到該高速緩沖當(dāng)中。同時在文件輸出器內(nèi)部定義一個工作線程,負(fù)責(zé)定期將高速緩沖中的內(nèi)容保存到文件,在保存的過程中同時可以進行日志文件的備份等工作。由于采用了高速緩沖的結(jié)構(gòu),很顯然日志客戶端的調(diào)用已經(jīng)不再是一個同步調(diào)用,從而不再會需要等到文件操作后才返回,提高的系統(tǒng)調(diào)用的速度。該原理如圖3所示:

文件輸出器的內(nèi)部實現(xiàn)原理

2.4設(shè)計難點

通過上述設(shè)計,一個具有良好擴展能力的高性能日志系統(tǒng)框架就已經(jīng)具有了一定的雛形。在設(shè)計過程中幾個難點問題需要進一步反思。

一、是否整個系統(tǒng)應(yīng)當(dāng)采用完全異步的結(jié)構(gòu),通過類似于消息機制的方式來進行由日志客戶端發(fā)送日志給日志系統(tǒng)。這種方式可以作為日志系統(tǒng)框架另一種運行方式,在后繼設(shè)計中加以考慮。

二、在文件輸出器中可以看到,目前雖然可以擴展多個日志輸出器,但是目前提供的抽象類中僅僅提供了對日志的過濾機制,而沒有提供的緩存機制,目前的緩存機制被放在文件輸出器中實現(xiàn),因此在未來的進一步設(shè)計中,可以將文件輸出器中的緩存機制上移到抽象類當(dāng)中。

2.5設(shè)計模式

在設(shè)計過程中我們特別注意使用了數(shù)個經(jīng)典的設(shè)計模式。如:Logger對象的創(chuàng)建使用了工廠方法模式(FactoryMethod)、由AbstractLoggerAppender和ConsoleAppender以及FileAppender構(gòu)成了策略模式(Strategy),除此以外,還大量使用了單例模式(Singleton)。在設(shè)計中適當(dāng)運用設(shè)計模式能夠加快設(shè)計進度、提高設(shè)計質(zhì)量。

3.總結(jié)

本文探討了日志系統(tǒng)的基本特性、實現(xiàn)日志系統(tǒng)的意義、方法和內(nèi)部結(jié)構(gòu),并且給出了一種基于Java平臺的日志系統(tǒng)的詳細(xì)設(shè)計。同時也指出日志系統(tǒng)會向服務(wù)化、異步化的方向發(fā)展。作為一種方便的跟蹤調(diào)試、數(shù)據(jù)恢復(fù)工具,應(yīng)當(dāng)提倡在適當(dāng)?shù)沫h(huán)境下對日志系統(tǒng)的使用。

【編輯推薦】

  1. 通過Java泛型實現(xiàn)數(shù)組排序和搜索的通用方法
  2. Java運行時多態(tài)性:繼承和接口的實現(xiàn)
  3. 原生態(tài)Java 程序員容易忽視的編程細(xì)節(jié)
  4. 淺析Java內(nèi)部類在GUI設(shè)計中的作用
  5. 如何學(xué)習(xí)Java?談Java學(xué)習(xí)之路
責(zé)任編輯:王曉東 來源: 中國IT實驗室
相關(guān)推薦

2025-04-27 01:05:00

AI智能日志

2022-04-06 08:49:44

SSTKV存儲引擎

2022-05-31 08:04:30

前端設(shè)計模式

2017-12-19 11:00:54

Linux系統(tǒng)日志

2024-11-04 06:00:00

redis雙向鏈表

2024-02-26 07:43:10

大語言模型LLM推理框架

2022-09-14 09:37:22

數(shù)據(jù)系統(tǒng)

2017-04-27 10:07:52

框架設(shè)計實現(xiàn)

2017-10-25 14:41:19

UPS遠程監(jiān)控電源

2022-04-03 15:44:55

Vue.js框架設(shè)計設(shè)計與實現(xiàn)

2023-11-06 09:37:23

Java日志

2013-10-09 11:07:31

日志文件系統(tǒng)

2017-12-26 16:24:36

接口代碼數(shù)據(jù)

2009-06-29 10:34:34

VxWorks視頻采集系統(tǒng)

2009-07-08 14:33:46

Java日志框架Log4J

2020-12-28 07:33:21

SkipListJava跳表

2023-01-13 18:32:40

計數(shù)系統(tǒng)設(shè)計

2009-07-07 15:53:02

JDK日志

2023-03-24 15:44:52

Java多線程工具

2009-03-10 19:19:16

Linux日志文件系統(tǒng)安裝使用
點贊
收藏

51CTO技術(shù)棧公眾號

91.成人天堂一区| 狠狠网亚洲精品| 亚洲欧美日韩精品久久亚洲区| 九九九九免费视频| av午夜在线| 成人午夜私人影院| 国产精品美女免费看| 免费在线观看黄色av| 视频一区在线观看| 日韩欧美国产精品| 黄色三级视频片| 日韩123区| 中文字幕乱码亚洲精品一区| 不卡视频一区二区三区| 久久这里只有精品9| 亚洲视频一区| 日韩网站在线观看| 国产精品jizz| 成人偷拍自拍| 欧美一区二区三级| 91福利国产成人精品播放| 成人av影院在线观看| 国产精品美女久久久久久久久久久| 国产亚洲福利社区| jizz中国少妇| 久久99热这里只有精品| 日韩av大片免费看| 色播视频在线播放| 天天做天天爱天天爽综合网| 亚洲免费精彩视频| 久久久久9999| 国产精品久av福利在线观看| 91精品国产综合久久久久久久| 黄色片一级视频| 三级网站视频在在线播放| 中文字幕av一区二区三区免费看| 久久久久一区二区三区| 亚洲欧美另类一区| 国产精品一区2区| 成人午夜高潮视频| 亚洲一区二区天堂| 另类专区欧美蜜桃臀第一页| 国产极品jizzhd欧美| 亚洲精品男人的天堂| 亚洲人成人一区二区三区| 欧美黑人极品猛少妇色xxxxx| 手机av在线看| 91精品国产乱码久久久久久| 日韩中文字幕网| 国产精品视频在| 欧美影院三区| 中文字幕欧美专区| 亚洲最大成人综合网| 精品成av人一区二区三区| 亚洲人线精品午夜| 极品人妻videosss人妻| 精品盗摄女厕tp美女嘘嘘| 精品亚洲精品福利线在观看| av直播在线观看| 亚洲美女久久| 在线观看日韩av| 999精品久久久| 亚洲有吗中文字幕| 高清欧美性猛交| 欧美一区二区三区四| 久久精品91| 国产精品久久中文| 国产裸体永久免费无遮挡| 狠狠色狠狠色综合系列| 99久久一区三区四区免费| 欧性猛交ⅹxxx乱大交| 97久久超碰国产精品| 美脚丝袜一区二区三区在线观看| 欧美伦理影视网| 欧美精彩视频一区二区三区| 伊人久久大香线蕉午夜av| av电影高清在线观看| 亚洲国产综合人成综合网站| 无码精品a∨在线观看中文| 成人爽a毛片免费啪啪| 欧美少妇一区二区| 国模大尺度视频| 日本妇女一区| 日韩在线观看你懂的| 免费一级肉体全黄毛片| 久久久久91| 亚洲最大福利视频网站| 噜噜噜久久,亚洲精品国产品| 久久女同精品一区二区| 在线无限看免费粉色视频| 91制片在线观看| 欧美性做爰猛烈叫床潮| 日本女人黄色片| 国产99久久久国产精品成人免费| 日韩在线视频国产| 久久精品国产亚洲AV无码男同| 久久影院亚洲| 97免费资源站| 国产黄在线看| 亚洲黄色尤物视频| 激情综合网俺也去| 一区二区三区四区高清视频 | 国产精品国内视频| 99在线观看免费| 久久久久国产一区二区三区四区| av不卡在线免费观看| 国产福利电影在线播放| 欧美日韩精品一区二区三区蜜桃 | 日韩高清一二三区| 黑人操亚洲人| 91精品国产91久久久久久| 国产精品自偷自拍| 国产色91在线| 六月丁香激情网| 亚洲一区二区三区四区电影 | 免费网站在线观看人| 欧美日韩久久久久久| 成人影视免费观看| 极品少妇一区二区三区| 成人国内精品久久久久一区| 日本韩国一区| 天天综合色天天综合| 日韩av加勒比| 91精品一区国产高清在线gif| 国产精品福利无圣光在线一区| 少妇又色又爽又黄的视频| 亚洲免费观看高清完整版在线观看熊| 日本女优爱爱视频| 欧美一区自拍| 午夜精品久久久久久久99黑人| 国产99视频在线| 亚洲视频香蕉人妖| 伊人成人222| 久久国产成人午夜av影院宅| 国产激情999| 国产高清在线| 91久久精品一区二区三| 97人妻精品一区二区免费| 亚洲视频1区| 狠狠色综合色区| 激情黄产视频在线免费观看| 亚洲国产成人久久| 国产精品.www| av一区二区三区四区| 国产欧美日韩小视频| 99久久免费精品国产72精品九九| 久久躁日日躁aaaaxxxx| 国产强伦人妻毛片| 亚洲蜜桃精久久久久久久| 57pao国产成永久免费视频| 91亚洲国产高清| 91精品国产综合久久香蕉922 | 亚洲欧美在线观看| 亚洲一二三av| 国产精品大片| 精品日本一区二区三区| 日韩精品av| 一区二区亚洲精品国产| 一级片一区二区三区| 国产精品高清亚洲| 久久精品一二三四| 国模 一区 二区 三区| 国产欧美日韩在线播放| 亚洲校园激情春色| 在线a欧美视频| 国产日韩欧美视频在线观看| 樱花草国产18久久久久| 中文字幕第3页| 久久精品天堂| 一区二区三区精品国产| 亚洲视频国产| 热久久免费视频精品| 在线观看免费版| 日韩欧美国产午夜精品| 国产精品乱子伦| 亚洲欧美综合另类在线卡通| 日韩综合第一页| 久久久久网站| www.-级毛片线天内射视视| 国产精品115| 国产成人精品午夜| 99视频免费在线观看| 亚洲精品视频播放| 91亚洲精品国偷拍自产在线观看| 一区二区三区中文字幕电影 | 亚洲精品二区三区| 精品欧美一区二区久久久伦| 成人免费黄色| 韩国精品久久久999| 福利视频在线播放| 精品国产伦一区二区三区观看体验| 久久99国产综合精品免费| 亚洲桃色在线一区| 国产精品九九九九九| 久久99国产乱子伦精品免费| 欧美成人免费在线观看视频| 清纯唯美亚洲综合一区| 国产伦精品一区二区三区| 成人亚洲网站| 国内精品美女av在线播放| 中文字幕日本在线观看| 亚洲精品白浆高清久久久久久| 在线观看免费中文字幕| 舔着乳尖日韩一区| 91日韩中文字幕| 亚洲国产精品国自产拍av| 免费不卡的av| 国产综合久久久久久久久久久久| 干日本少妇首页| 国产精品啊啊啊| www.午夜色| 狠狠综合久久av一区二区蜜桃| 国产伦精品一区二区三毛| 国产亚洲高清一区| 国产精品久久久久免费a∨| 国产在线xxx| 欧美成人激情在线| 97在线观看免费观看高清| 日韩av在线免播放器| 丰满人妻熟女aⅴ一区| 在线播放中文一区| 国产一区二区三区在线观看| 色悠悠亚洲一区二区| 久久午夜免费视频| 亚洲h在线观看| 欧美日韩综合一区二区| 亚洲视频免费在线| 国产三级aaa| 国产精品美女视频| 奇米网一区二区| 国产女人aaa级久久久级| 欧美特黄一区二区三区| 92国产精品观看| 欧洲一级黄色片| 成人爽a毛片一区二区免费| 亚洲av无一区二区三区久久| 国内不卡的二区三区中文字幕| 亚洲视频第二页| 色88888久久久久久影院野外| 91传媒免费看| 素人啪啪色综合| 55夜色66夜色国产精品视频| 欧美24videosex性欧美| 欧美日韩国产二区| 在线免费观看a视频| 精品视频9999| 麻豆av在线播放| 久久免费国产视频| 国产美女高潮在线观看| 国内成人精品一区| 麻豆mv在线观看| 欧洲永久精品大片ww免费漫画| 麻豆免费在线| 热re99久久精品国产66热| 亚洲精品中文字幕| 日韩美女福利视频| 国产精品美女午夜爽爽| 91精品啪在线观看麻豆免费| 国产精品国产亚洲精品| 91视频免费进入| 福利电影一区| 鲁丝片一区二区三区| 欧洲杯什么时候开赛| 一区二区日本伦理| 亚洲精品97| 国产视频九色蝌蚪| 日韩中文字幕1| 久久久久久久久久毛片| 成人一区在线观看| 久久久久久国产精品无码| 欧美国产日韩精品免费观看| sm捆绑调教视频| 亚洲国产色一区| 男人日女人网站| 欧美日韩一区高清| 午夜精品久久久久久久99| 日韩激情视频在线播放| av大片在线播放| 欧美大片免费看| 日韩一区二区三区免费| 91精品在线影院| 日韩伦理一区二区三区| 亚洲永久一区二区三区在线| 激情国产一区| 91极品尤物在线播放国产| 国产精品66部| 欧美黄色一级生活片| 一区二区高清视频在线观看| 探花视频在线观看| 欧美一级片在线观看| 国产人成在线观看| 欧美激情视频一区二区| 国产精品亚洲d| 国产综合av一区二区三区| 日本电影一区二区| 亚洲熟妇无码另类久久久| 免费成人美女在线观看| 国产精品扒开腿做爽爽爽a片唱戏| 中文字幕av资源一区| 亚洲精品1区2区3区| 欧美精品一二三四| 邻居大乳一区二区三区| 九九热这里只有精品6| 福利视频一区| 久久亚洲免费| 精品1区2区3区4区| 欧美成人手机在线视频| 国产日韩精品一区二区三区在线| 国产亚洲自拍av| 7777精品伊人久久久大香线蕉最新版 | 亚洲精品久久久狠狠狠爱| 最近的2019中文字幕免费一页 | eeuss影院www在线播放| 国模私拍视频一区| 伊人久久大香线蕉av超碰| 伊人久久大香线蕉成人综合网| 久久国产精品毛片| 中文字幕在线永久| 亚洲一线二线三线视频| 国产男男gay网站| 日韩中文字幕在线视频| 2022成人影院| 久久精品国产99精品国产亚洲性色| 欧美精品一区二区三区久久久竹菊| 中文字幕在线综合| 欧美国产一区二区| 老熟妇一区二区三区啪啪| 亚洲欧美另类在线观看| 性感女国产在线| 裸体丰满少妇做受久久99精品| 亚洲国产高清视频| 国产精品久久久久久亚洲av| 伊人色综合久久天天| 国产视频一区二区三| 久色乳综合思思在线视频| 亚洲精品大全| 懂色av粉嫩av蜜臀av| 国产美女娇喘av呻吟久久| 91精品一区二区三区蜜桃| 337p亚洲精品色噜噜狠狠| 国产高清一区二区三区视频 | 丁香一区二区| 97在线国产视频| av欧美精品.com| 看片网址国产福利av中文字幕| 亚洲精品福利视频| 亚洲精品国产精品国产| 欧美日韩综合久久| 久久裸体视频| 99久久99久久精品免费| 欧美日韩成人综合天天影院| 免费黄网站在线| 亚洲最大福利网站| 99精品国产福利在线观看免费| 日韩免费高清一区二区| 日韩欧美国产激情| 国产视频在线看| 成人免费自拍视频| 欧美日韩综合| www.超碰97| 欧美天天综合网| 成年人网站在线| 国产女人水真多18毛片18精品| 免费视频一区| 激情高潮到大叫狂喷水| 欧美大黄免费观看| 亚洲美女炮图| 亚洲精品自在在线观看| 国产精品系列在线观看| 国产视频91在线| 伊人青青综合网站| 懂色av色香蕉一区二区蜜桃| 久久在线中文字幕| 国产亚洲欧美日韩俺去了| 国产毛片毛片毛片毛片| 97香蕉超级碰碰久久免费软件| 国产精品三级| 三上悠亚 电影| 色偷偷88欧美精品久久久| 免费黄网站在线播放| 久久国产精品-国产精品| 蜜桃在线一区二区三区| 国产真实乱人偷精品视频| 亚洲人成在线免费观看| 成人网av.com/| 日韩欧美一区二| 中文字幕亚洲一区二区av在线| 欧美熟妇交换久久久久久分类| 国产91免费观看| 欧美色图麻豆| 国产性猛交xx乱| 亚洲成成品网站| 91麻豆精品国产综合久久久 | 日韩av一级| 国产aaa免费视频| 国产精品久久一级| 色哟哟在线观看| 国产精品福利视频| 久久精品久久精品| 亚洲影院在线播放|