亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

關(guān)于PHP中Yii框架的常用日志操作

2020-03-24 18:55:59
字體:
供稿:網(wǎng)友
這篇文章主要介紹了PHP的html' target='_blank'>Yii框架的常用日志操作總結(jié),包括消息的過略和格式化等基本內(nèi)容,需要的朋友可以參考下

日志
Yii提供了一個高度自定義化和高擴展性的日志框架。根據(jù)使用場景的不同,你可以很容易的對各種消息就行記錄、過濾、合并,比如說文本文件,數(shù)據(jù)庫文件,郵件。

使用Yii的日志框架包含如下步驟:

調(diào)用日志記錄的方法

在主應(yīng)用的配置文件(例如basic下面的web.php)中配置好日志的過濾和導(dǎo)出的設(shè)置

檢查不同場景下經(jīng)過過濾之后的日志信息

記錄日志

記錄日志其實就是簡簡單單的調(diào)用如下的方法:

[[Yii::trace()]]: 記錄關(guān)于某段代碼運行的相關(guān)消息。主要是用于開發(fā)環(huán)境。

[[Yii::info()]]: 在某些位置記錄一些比較有用的信息的時候使用。

[[Yii::warning()]]: 當某些期望之外的事情發(fā)生的時候,使用該方法。

[[Yii::error()]]: 當某些需要立馬解決的致命問題發(fā)生的時候,調(diào)用此方法記錄相關(guān)信息。

上面的這些方法雖然根據(jù)不同的level和類型來記錄信息,但是實際上它們調(diào)用的是同一個方法function($message, $category = application )。其中$message就是要記錄的信息,$category表示的是這個日志的歸屬類。下面的代碼表示在默認的‘a(chǎn)pplication 分類下面記錄了一條trace類型的信息。

 Yii::trace( start calculating average revenue 

提示:記錄的$message可以是簡單的string也可以是復(fù)雜的數(shù)組、對象。你應(yīng)該根據(jù)不同的場景下日志記錄的職責選取合適的$message類型。默認情況下,如果你記錄的$message不是String,日志在導(dǎo)出的時候都會調(diào)用[[yii/helpers/VarDumper::export()]] 方法來輸出一個string類型的消息。

為了更好的組織管理及篩選日志消息,通常情況下應(yīng)當為每一種日志分配合適的類別。你可以選擇一種有明顯等級區(qū)分意思的分類,用以方便根據(jù)不同的目的來篩選不同分類的日志。一種簡單且有效的命名方式就是使用PHP的魔術(shù)常量METHOD來作為分類的名稱。Yii框架里面的核心代碼在做日志記錄的時候就是這么干的。比如說:

Yii::trace( start calculating average revenue , __METHOD__);

在有常量METHOD出現(xiàn)的地方,它表示的就是當前的方法的名稱(并且加上了當前方法所屬的類的完整前綴)。舉個例子吧,如果在app/controllers/RevenueController這個類里面的calculate方法里面有上面的那行代碼,那么此時的METHOD表示的就是‘a(chǎn)pp/controllers/RevenueController::calculate 。

提示:上面所說的方法事實上只是單例對象[[yii/log/Logger|logger object]] 的[[yii/log/Logger::log()|log()]]方法的簡單使用,我們可以通過Yii::getLogger()方法來獲得這個單例對象。當我們記錄了足夠的日志信息或者當前的應(yīng)用運行結(jié)束了,日志對象將調(diào)用[yii/log/Dispatcher|message dispatcher]] 方法把記錄的日志信息寫入到配置的目的位置。

log targets
一個log target是[[yii/log/Target]]或者其子類的實例。它根據(jù)嚴重的等級和分類類過濾日志,然后把日志導(dǎo)出到合適的媒介上面去。就比如說,一個[[yii/log/DbTarget|database target]] 對象就會把過濾之后的日志信息導(dǎo)出到對應(yīng)數(shù)據(jù)庫。
你可以在應(yīng)用的配置文件中的日志組件處注冊多個log targets,就像下面這樣:

return [// the log component must be loaded during bootstrapping time bootstrap = [ log ], components = [ log = [ targets = [ class = yii/log/DbTarget , levels = [ error , warning ], class = yii/log/EmailTarget , levels = [ error ], categories = [ yii/db/* ], message = [ from = [ log@example.com ], to = [ admin@example.com , developer@example.com ], subject = Database errors at example.com ,];

注意:日志組件必須在bootstrap中配置,這樣才能把日志信息分發(fā)到對應(yīng)的log target.
上面的代碼里面,兩個log target注冊到了[[yii/log/Dispatcher::targets]]里面。

第一個篩選出錯誤和警告信息并且把這些信息保存到了數(shù)據(jù)庫。
第二個篩選出分類以yii/db*開頭的錯誤信息,并把這些信息通過郵件發(fā)送到admin@example.com 和 developer@example.com.
Yii有下面這些內(nèi)置的log targets,你可以參考API文檔來學(xué)習(xí)具體怎么去配置和使用它們。

[[yii/log/DbTarget]]:把日志信息保存到數(shù)據(jù)庫。

[[yii/log/EmailTarget]]: 把日志信息發(fā)送到指定的郵箱,上面的例子就是。

[[yii/log/FileTarget]]: 把日志寫到到文件。

[[yii/log/SyslogTarget]]: 調(diào)用PHP的syslog()方法將日志寫入到系統(tǒng)日志。

接下來,我們就來看看常見的log target具有的功能。

消息過濾
就每一種log target而言,你可以配置它的 [[yii/log/Target::levels|levels]] 和 [[yii/log/Target::categories|categories]]屬性類設(shè)置它的嚴重程度以及歸屬的分類。
[[yii/log/Target::levels|levels]]屬性的采用一個數(shù)組里面的一個或者多個值,這個數(shù)組包含如下值:

error:對應(yīng)[[Yii::error()]]記錄的消息

warning:對應(yīng)[[Yii::warning()]]記錄的消息

info :對應(yīng) [[Yii::info()]]記錄的信息

trace:對應(yīng) [[Yii::trace()]]記錄的信息.

profile :對應(yīng)[[Yii::beginProfile()]] 和 [[Yii::endProfile()]]記錄的信息,這種方式下面更多詳細信息會被記錄。

如果你沒有指定[[yii/log/Target::levels|levels]] 的值,那么任何level的信息都會被記錄。

[[yii/log/Target::categories|categories]] 屬性的值是數(shù)組,這個數(shù)組里面的值可以是一個具體的分類名稱,也可以是類似正則的匹配模式。只有在target能在這個數(shù)組里面找到對應(yīng)的分類名或者符合某一個匹配模式,他才會處理這些消息。這里的匹配模式的組成是在分類的名稱后面加上一個號。如果這個分類恰好和這個匹配模式的號前的字符匹配,那么也就是這個分類找到對應(yīng)匹配值。舉個例來說,在類[[yii/db/Command]]中的yii/db/Command::execute和yii /db/Command:: query 方法使用類名類記錄相關(guān)日志信息,那么這個時候他們都匹配模式y(tǒng)ii/db*

同樣的,如果我們沒有指定[[yii/log/Target::categories|categories]],那么每一種分類的日志信息都會被處理。
除了通過[[yii/log/Target::categories|categories]] 屬性來設(shè)置分類的白名單外,你也可以通過 [[yii/log/Target::except|except]]屬性來設(shè)置分類的黑名單。屬于黑名單的分類日志信息不會被target處理。

下面的配置指定了一個分類匹配yii/db*或者 yii/web/HttpException:*,但又不包括yii/web/HttpException:404的分類,而且它只處理錯誤和警告的日志信息。

[ class = yii/log/FileTarget , levels = [ error , warning ], categories = [ yii/db/* , yii/web/HttpException:* , except = [ yii/web/HttpException:404 ,]

注意:當錯誤的句柄捕獲到HTTP的異常的時候,記錄的日志信息會以yii/web/HttpException:ErrorCode的這種格式
記錄,例如[[yii/web/NotFoundHttpException]] 就會被記錄成yii/web/HttpException:404
消息格式化
日志targets用多種格式來導(dǎo)出日志。舉個例子,如果你的日志target是[[yii/log/FileTarget]],那么你在你的程序中記錄日志的時候,應(yīng)該會找到類似于文件runtime/log/app.log 記錄的如下的信息:

2014-10-04 18:10:15 [::1][][-][trace][yii/base/Module::getModule] Loading module: debug

默認情況下,[[yii/log/Target::formatMessage()]]:會幫我們把日志信息格式化成下面的這種格式:

Timestamp [IP address][User ID][Session ID][Severity Level][Category] Message Text

你可以通過給[[yii/log/Target::prefix]] 屬性配置一個自定義的回調(diào)函數(shù)來 自定義日志的前綴。下面的代碼就實現(xiàn)了在每條日志信息前面加上了用戶的ID(ip地址,sessionId等敏感信息因為個人隱私被去掉了)。

[ class = yii/log/FileTarget , prefix = function ($message) { $user = Yii::$app- has( user , true) ? Yii::$app- get( user ) : null; $userID = $user ? $user- getId(false) : -  return [$userID] ]

除了日志消息的前綴,日志的target還把一些上下文信息附加在了每一批的日志記錄中。默認情況下,全局的PHP變量包含$_GET, $_POST, $_FILES, $_COOKIE, $_SESSION 和 $_SERVER. 你可以通過配置 [[yii/log/Target::logVars]] 來調(diào)整日志記錄的全局變量。下面的代碼表示的是只記錄$_SERVER相關(guān)的變量。

[ class = yii/log/FileTarget , logVars = [ _SERVER ],]

當 logVars 為空的時候,表示不記錄相關(guān)的上下文信息。如果你想自定義上下文信息的提供方式,你可以覆寫[[yii/log/Target::getContextMessage()]] 方法。

消息的trace等級
在開發(fā)的過程當中,我們總是期望能夠知道每一條日志消息是來自哪里。在Yii中你可以通過配置[[yii/log/Dispatcher::traceLevel|traceLevel]] 屬性來實現(xiàn)。配置的示例如下:

return [ bootstrap = [ log ], components = [ log = [ traceLevel = YII_DEBUG ? 3 : 0, targets = [...],];

上面的示例在YII_DEBUG為true的時候?qū)[yii/log/Dispatcher::traceLevel|traceLevel]] 設(shè)置為3,反之設(shè)置為0. 意思是什么呢?3表示每一條日志記錄都會記錄與之相關(guān)的三層棧調(diào)用信息,0表示不記錄任何相關(guān)的棧調(diào)用信息

提示:沒有必要總是記錄調(diào)用的堆棧信息,比較耗性能。所以,你應(yīng)該只在你開發(fā)的時候或者用于調(diào)試的情況下使用該功能。
消息的清空和導(dǎo)出
就如同上面說的,記錄的消息以數(shù)組的形式保存在[[yii/log/Logger|logger object]]中。為了限制這個數(shù)組消耗過多的內(nèi)存,當這個數(shù)組包含的內(nèi)容大小達到某個量的時候會被對應(yīng)的target從內(nèi)存中轉(zhuǎn)移到對應(yīng)的目標(文件,數(shù)據(jù)庫...)中。你可以通過設(shè)置 [[yii/log/Dispatcher::flushInterval|flushInterval]] 的值來決定量的大小。像下面這樣:

return [ bootstrap = [ log ], components = [ log = [ flushInterval = 100, // default is 1000 targets = [...],];

注意:在應(yīng)用運行結(jié)束的時候也會刷新內(nèi)存,這樣做事為了讓日志的target能夠記錄完整的信息。
把日志信息從內(nèi)存刷到對應(yīng)存放的地方的這一動作不是立即發(fā)生的。事實上,和上面一樣,都是當內(nèi)存中的日志大小達到一定程度才會發(fā)生。你可以像下面的示例一樣通過配置不同target的[[yii/log/Target::exportInterval|exportInterval]]值,來達到修改的目的:

[ class = yii/log/FileTarget , exportInterval = 100, // default is 1000]

因為清空和導(dǎo)出的設(shè)定,默認情況下你調(diào)用 Yii::trace() 或者其他的日志記錄方法的時候不會在日志target下立馬看到日志消息。這對某些長時間運行的控制臺程序是一個問題。不過這個問題是可以解決的,方法入下面的代碼,你需要把[[yii/log/Dispatcher::flushInterval|flushInterval]] 和[[yii/log/Target::exportInterval|exportInterval]] 的值都設(shè)置成1:

return [ bootstrap = [ log ], components = [ log = [ flushInterval = 1, targets = [ class = yii/log/FileTarget , exportInterval = 1,];

注意:如此頻繁的清空和導(dǎo)出日志消息會降低系統(tǒng)的性能。

切換日志的targets
你可以通過設(shè)置[[yii/log/Target::enabled|enabled]] 屬性來禁止日志的target。就如同下面的代碼描述的一樣:

Yii::$app- log- targets[ file ]- enabled = false;

上面的代碼需要你在配置文件里面有一個下面的配置:

return [ bootstrap = [ log ], components = [ log = [ targets = [ file = [ class = yii/log/FileTarget , db = [ class = yii/log/DbTarget ,];

創(chuàng)建一個新的target
首先,創(chuàng)建一個新的日志target是很簡單的。你主要做的事情是實現(xiàn)[[yii/log/Target::export()]] 方法并且把數(shù)組類型的消息[[yii/log/Target::messages]]發(fā)送到指定的存儲媒介上去就行了。在這個過程中你可以調(diào)用[[yii/log/Target::formatMessage()]] 方法來格式化每一條日志消息。至于更多的細節(jié)你可以在Yiid的發(fā)行版本里找到詳細的信息。

性能評測
性能評測是一種比較特別的日志記錄。它通常用來獲取某些模塊執(zhí)行時間的數(shù)據(jù),以此來找到性能的問題所在。比如說,[[yii/db/Command]] 這個類就用性能評測日志來獲得每一條sql查詢所花費的時間。

要使用該類日志,你首先要做的時確定你要測試的代碼范圍。然后在每一段代碼之間你都應(yīng)該要保持它們是閉合的,就像下面這個樣子:

/Yii::beginProfile( myBenchmark ...code block being profiled.../Yii::endProfile( myBenchmark 

myBenchmark只是一個標識,用于你在查看對應(yīng)日志記錄的時候快速定位。
在beginProfile和endProfile之間是可以再嵌套的,但是必須保證正確的閉合關(guān)系,如下所示:

/Yii::beginProfile( block1 // some code to be profiled/Yii::beginProfile( block2  // some other code to be profiled/Yii::endProfile( block2 /Yii::endProfile( block1 

如果上面的閉合關(guān)系出錯了,對應(yīng)的記錄都不會正常工作。

對于每一塊被評測的代碼,日志的level都是profile。你可以再日志的target中配置這些信息并導(dǎo)出它們。 Yii內(nèi)建了 Yii debugger來展示評測的結(jié)果。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請關(guān)注PHP !

相關(guān)推薦:

關(guān)于PHP的Yii框架中的日志功能

以上就是關(guān)于PHP中Yii框架的常用日志操作的詳細內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
深夜福利免费在线观看| 色视频免费在线| 欧美日韩久久精品| 成人午夜两性视频| 亚洲乱码日产精品bd| 日韩不卡免费高清视频| 欧美4khd| 亚洲国产第一页| 伊人色综合久久天天五月婷| 国产精品日韩| 精品国产亚洲一区二区三区| 日韩精品网站| 亚洲香蕉伊综合在人在线视看| 蜜桃视频在线观看一区二区| 久久久久久久久久久亚洲| 亚洲电影影音先锋| 91成人短视频在线观看| 在线观看免费av网址| 国产精品v欧美精品v日韩精品| 另类高清dbsm日本tvav| 91视频com| 国产伦精品一区二区三区视频孕妇| 一二三四区精品视频| 2023欧美最顶级a∨艳星| 三级av在线免费观看| 国产精品国产三级国产aⅴ原创| 欧美一区二区三区在线播放| 老司机在线永久免费观看| 成年人黄色在线观看| 波多野结衣乳巨码无在线| 精品二区在线观看| 日本黄视频在线观看| 久久久在线观看| 亚洲自拍偷拍网址| 日韩第一页在线| 国产又黄又粗视频| 欧美三级第一页| 免费在线观看的黄色网址| 国产精品系列在线观看| 欧美经典一区二区三区| 天天射综合网站| 国产三级视频在线| 亚洲福利一区二区| 精品在线播放午夜| 国内精品久久久久久影院老狼| 人人做人人澡人人爽欧美| 老熟妇精品一区二区三区| 香蕉视频网站入口| 米奇精品一区二区三区| 欧美片第一页| 国产专区精品视频| 亲爱的老师6电影韩剧| 爱草tv视频在线观看992| 99精品一区二区三区无码吞精| 亚洲欧美乱综合| www黄色av| 中文字幕91| a∨色狠狠一区二区三区| 18欧美乱大交hd1984| 天堂综合网久久| ww亚洲ww在线观看国产| 国产精品久久久久久久第一福利| 天堂网在线播放| 久久视频免费观看| 久久精品黄色| 亚洲国产成人久久综合一区| 精品久久久久一区| 国产视频久久久久久久| 欧美日韩国产123区| 国产高清免费视频| 久久另类ts人妖一区二区| 亚洲av午夜精品一区二区三区| 亚洲欧洲美洲在线综合| 一路向西2在线观看| 免费黄色大片| 国产91色在线|亚洲| 成人精品在线视频观看| 国产精品久久国产愉拍| 午夜在线观看免费一区| 国内福利视频| 久久久久久久久97| 国产精品一区二区三区四区| 久久草.com| 九九视频直播综合网| 性欧美8khd高清极品| 亚洲第一会所001| 九色精品国产蝌蚪| 国产一区二区三区四区尤物| 成人免费观看视频在线观看| 成人av免费在线播放| 久久久久久久久爱| 清纯唯美激情亚洲| 国产伦精品一区二区三区视频小说| 欧美日韩网站| 激情久久一区| 免费短视频成人日韩| 制服丝袜成人动漫| 成年人性生活视频| 91成人在线观看国产| 国产精品欧美亚洲777777| 欧美日韩在线观看不卡| 国产精彩视频一区二区| 成人做爰www看视频软件| 国产特级嫩嫩嫩bbb| 麻豆国产欧美日韩综合精品二区| 欧美在线免费看| 中文字幕亚洲欧美一区二区三区| 日韩理论片在线观看| 中文字幕69页| 国产福利在线导航| 精品国产亚洲一区二区三区在线观看| 免费一级suv好看的国产网站| 欧美永久精品| 亚洲激情男女视频| 男男gaygays亚洲| 欧美精品videos极品| 超碰97人人做人人爱少妇| 中文字幕一区二区人妻| l8videosex性欧美69| 色爱区成人综合网| 亚洲美女在线免费观看| 免费国产羞羞网站美图| 欧美少妇一级片| 国产在线观看免费| 欧美一级在线免费观看| 人妻91麻豆一区二区三区| 青青草国产精品一区二区| 亚洲成人国产| 亚洲女同中文字幕| 国产精品一级片在线观看| 韩日中文字幕| 青草网在线观看| 欧美激情在线视频二区| 三年中文高清在线观看第6集| 成人黄色视屏网站| 日韩午夜在线电影| 视频区小说区图片区| 男人搞女人网站| 拍拍拍在线观看视频免费| 欧美日韩视频免费看| 大地资源网在线观看免费官网| 欧美精品第一页| 色屁屁草草影院ccyycom| 五月天av在线播放| 动漫3d精品一区二区三区乱码| 午夜18视频在线观看| 日本在线观看不卡视频| 人人做人人爽| 国产黄色在线网站| 国产又大又黄的视频| 日本一区二区三区视频| 91偷拍精品一区二区三区| 久久这里只有精品国产| 午夜免费播放观看在线视频| 国产成人极品视频| 亚洲欧美在线免费| 日韩一级性生活片| 日韩在线免费高清视频| 亚洲精品午夜久久久久久久| 日本1区2区3区中文字幕| 精品国产aⅴ一区二区三区东京热| 在线观看免费视频一区二区三区| a毛片毛片av永久免费| 最近免费中文字幕视频2019| 97在线视频免费播放| 日韩精品中文字幕有码专区| 午夜欧洲一区| 国内成人精品视频| 无码人妻精品一区二区| 欧美日韩国产综合视频| 国产青青视频| 久久全国免费视频| 欧美一级淫片播放口| 99精品全国免费观看视频软件| 久草一区二区| 美国一区二区三区在线播放| 成年人影院在线观看| 国产精品成人av在线| 男人的天堂官网| 国产日韩精品在线播放| 欧美精品一区二区三区涩爱蜜| 亚洲 中文字幕 日韩 无码| 国产成人ay| 日本欧美黄网站| 天海翼在线观看视频| 一区二区三区久久| 福利视频一二区| 久久精品男人天堂| 日本亚洲视频在线| 粗大的内捧猛烈进出在线视频| 97精品国产福利一区二区三区| 国产在线视精品麻豆| 国产成人无码a区在线观看视频| 黑人狂躁日本娇小| 色综合久久久久久中文网| 一区二区电影网| 国产精品免费区二区三区观看| 人人精品亚洲| 中文字幕一区在线观看视频| 欧美日韩精品欧美日韩精品| 91久久国产精品| 国产99精品在线观看| 丝袜av一区| 久久97超碰国产精品超碰| 亚洲成av人片| 996久久国产精品线观看| a天堂资源在线| 黄页网站在线| 黄色一级视频在线播放| 懂色av中文一区二区三区天美| 四虎影院在线域名免费观看| 亚洲女人天堂| 尤物yw193can在线观看| 亚洲国产成人一区| 成人丝袜视频网| 欧美精品一区二区三区四区| 亚洲free性xxxx护士hd| 亚洲成人av免费观看| 91九色美女在线视频| 免费黄色电影在线观看| 日韩高清成人在线| 欧美三级午夜理伦三级老人| 538精品在线观看| 亚洲欧洲另类国产综合| 欧美精品一区二区三区在线| 精品国产午夜肉伦伦影院| 亚洲第一页综合| 免费a级人成a大片在线观看| 国产欧美一区二区精品性| 你懂的视频在线一区二区| 成人写真福利网| 中国黄色a级片| 伊人365影院| 中文字幕第5页| 国产精品一色哟哟| 国产精品极品美女在线观看| h在线观看网站| 青娱乐国产在线| 爱爱的免费视频| 欧美日韩性视频在线| 久久久噜噜噜久噜久久| 精品无码久久久久成人漫画| 999精品视频在线观看播放| 国产乱码精品一区二区三区日韩精品| 在线国产三级| 日韩一区中文字幕| 岛国大片在线观看| 日韩理论片在线| 日本精品一区二区三区在线播放视频| 国产精品亚洲片在线播放| 蓝色福利精品导航| 亚洲国产精品va在线看黑人| 六月丁香综合| 亚洲精品永久免费| 麻豆精品国产免费| 五月天最新网址| 欧美日韩99| 欧美jizzhd精品欧美另类| 国产精品自拍小视频| 亚洲高清网站| 欧美午夜电影在线播放| 久久久国内精品| 久久久久久国产精品| 香蕉人妻av久久久久天天| 国产午夜精品无码一区二区| 欧美理论在线播放| 全程偷拍露脸中年夫妇| 中文字幕在线视频免费| 国产精品免费视频观看| www.狠狠操.com| 久久久久97| 国产精品国产精品国产专区蜜臀ah| 成人片黄网站色大片免费毛片| 国产国产人免费人成免费视频| 色综合久久66| 韩国视频理论视频久久| 欧美顶级少妇做爰| 最近免费中文字幕中文高清百度| 亚洲一区二区三区高清| 欧美一区二区三区免费| 国产一区二区三区四区在线| 粉嫩av国产一区二区三区| 极品销魂美女一区二区三区| 成人丝袜高跟foot| 亚洲乱码在线观看| 视频一区二区国产| 国产一级久久久久毛片精品| 国产短剧电视剧免费观看| 成人黄色在线网站| 久久国产综合视频| 日韩欧美精品在线观看视频| 久久久久久18| 精品视频久久久久久| 亚洲欧美日韩精品| 欧美变态tickle挠乳网站| 洋洋av久久久久久久一区| 国产一在线精品一区在线观看| 欧美吻胸吃奶大尺度电影| 农村妇女一区二区| 91久久国产综合久久蜜月精品| 夜夜骑日日操| 先锋资源久久| 成品人视频ww入口| 欧美一区二区三区爱爱| 欧美日韩国产电影| 午夜影院在线看| 国产精品熟女视频| fc2成人免费视频| 91精品国产乱码久久蜜臀| 中文字幕精品一区二区精品| 国产123在线| 国精产品一区一区三区免费视频| www..com国产| 久久成人av网站| 欧美性黄网官网| 日本国产一区二区| 色先锋av男人资源先锋影院| 久热在线视频| 国产免费黄色一级片| 爱啪啪综合导航| 极品人妻一区二区三区| 人妻一区二区三区四区| 日韩亚洲一区在线| 国产成人鲁鲁免费视频a| 欧美精品se| 欧美性猛交xxxxbbbb| 成人国产精品一级毛片视频| 亚洲免费看av|