日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

日志库EasyLogging++学习系列(10)—— 日志文件滚动

發布時間:2025/3/12 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 日志库EasyLogging++学习系列(10)—— 日志文件滚动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在很多應用場合,我們是需要實現日志文件滾動的,特別是在一些長期運行的服務器程序中,如果把所有的日志都記錄在一個文件之中,勢必會造成日志文件越來越大。當日志內容很多的時候,萬一哪天突然需要查詢某個日志信息就會顯得十分不便。所以,支持日志文件滾動是很多日志庫都支持的功能,而文件滾動又可以分為按大小滾動和按時間滾動。


按大小滾動文件


在 Easylogging++ 中,已經實現了按照日志文件大小來滾動日志記錄。在前面《日志庫EasyLogging++學習系列(3)—— 配置功能》一文中介紹配置文件時,有一個配置項:MAX_LOG_FILE_SIZE,這個配置項的值(以字節為單位)表示的就是日志文件的最大大小。一旦日志文件的大小達到這個配置項設置的值,日志文件就會自動清空文件中所有的日志記錄,并重新開始寫入。不過配置項?MAX_LOG_FILE_SIZE?在默認情況下是不生效的,需要設置標記:LoggingFlag::StrictLogFileSizeCheck 來激活。另外,如果我們想要保留之前的日志記錄,那么我們可以注冊一個回調函數,這個回調函數將會允許我們在清空日志文件之前對日志文件進行一次處理。下面的代碼演示了按大小滾動日志文件,并通過回調函數保留了所有的日志記錄:

[cpp] view plaincopy print?
  • #include?"easylogging++.h"??
  • ??
  • INITIALIZE_EASYLOGGINGPP??
  • ??
  • static?unsigned?int?idx;??
  • ??
  • void?rolloutHandler(const?char*?filename,?std::size_t?size)???
  • {??
  • ????///?備份日志??
  • ????system("mkdir?bin");??
  • ????std::stringstream?ss;??
  • ????ss?<<?"move?"?<<?filename?<<?"?bin\\log_backup_"?<<?++idx;??
  • ????system(ss.str().c_str());??
  • }??
  • ??
  • int?main(int,?char**)??
  • {??
  • ????idx?=?0;??
  • ????el::Loggers::addFlag(el::LoggingFlag::StrictLogFileSizeCheck);??
  • ????el::Loggers::reconfigureAllLoggers(el::ConfigurationType::MaxLogFileSize,?"100");??
  • ??
  • ????///?注冊回調函數??
  • ????el::Helpers::installPreRollOutCallback(rolloutHandler);??
  • ??
  • ????for?(int?i?=?0;?i?<?100;?++i)??
  • ????{??
  • ????????LOG(INFO)?<<?"Test";??
  • ????}??
  • ??
  • ????///?注銷回調函數??
  • ????el::Helpers::uninstallPreRollOutCallback();??
  • ????return?0;??
  • }??
  • #include "easylogging++.h"INITIALIZE_EASYLOGGINGPPstatic unsigned int idx;void rolloutHandler(const char* filename, std::size_t size) {/// 備份日志system("mkdir bin");std::stringstream ss;ss << "move " << filename << " bin\\log_backup_" << ++idx;system(ss.str().c_str()); }int main(int, char**) {idx = 0;el::Loggers::addFlag(el::LoggingFlag::StrictLogFileSizeCheck);el::Loggers::reconfigureAllLoggers(el::ConfigurationType::MaxLogFileSize, "100");/// 注冊回調函數el::Helpers::installPreRollOutCallback(rolloutHandler);for (int i = 0; i < 100; ++i){LOG(INFO) << "Test";}/// 注銷回調函數el::Helpers::uninstallPreRollOutCallback();return 0; } 通過配置文件來設置 配置項? MAX_LOG_FILE_SIZE?的大小也可以實現上述演示代碼的效果,另外我們還可以設置不同級別的日志文件按照不同的文件大小來滾動。如果不小心忘記了設置標記:LoggingFlag::StrictLogFileSizeCheck ,我們還可以通過調用函數?el::Helpers::validateFileRolling(el::Logger*, const el::Level&) 以手動的方式來檢查日志滾動,建議各位小伙伴可以自己嘗試一下。

    按時間滾動文件


    在 Easylogging++ 中是沒有實現按時間滾動日志文件的,不過既然是開源的日志庫,我們可以參考著按大小滾動日志文件的實現方式,根據自己的需求去實現一個按時間滾動日志文件的功能。下面簡單地說明一下實現步驟:

    • 在按大小滾動日志文件中有配置項?MAX_LOG_FILE_SIZE,所以我們也增加一個配置項?LOG_FILE_ROLLING_TIME ,新增配置項的值類型為 char* 型,其值只能是以下四個:"MONTH" 、"DAY"、"HOUR"、"MINUTE",其中"MONTH"表示按月份滾動日志文件,"DAY"表示按天數滾動日志文件,"HOUR"表示按小時滾動日志文件,"MINUTE"表示按分鐘滾動日志文件。
    • 在按大小滾動日志文件中有標記?LoggingFlag::StrictLogFileSizeCheck 來激活滾動功能,所以我們在實現按時間滾動日志文件的功能中也增加一個標記?LoggingFlag::StrictLogFileTimeCheck 來激活滾動功能。
    • 在按大小滾動日志文件中,允許我們在清空文件重新寫入之前通過回調函數對日志文件進行處理,所以我們在按時間滾動日志文件的功能實現中,也同樣保留該回調函數的功能,但是在回調函數中增加了一個參數,用來區分是按大小滾動日志文件還是按時間滾動日志文件。
    • 本文的最后提供了實現按時間滾動日志文件功能的Easylogging++?源碼,實現的細節可在源碼中搜索“modify by Fish”來查看。 因本功能目前只限于本人在使用,如有錯誤,歡迎指正。
    下面的代碼演示了如何使用新增的按時間滾動日志文件的功能: [cpp] view plaincopy print?
  • #include?"easylogging++.h"??
  • ??
  • INITIALIZE_EASYLOGGINGPP??
  • ??
  • void?rolloutHandler(const?char*?filename,?std::size_t?size,?el::base::RollingLogFileBasis?rollingbasis)??
  • {??
  • ????switch?(rollingbasis)??
  • ????{??
  • ????case?el::base::RollingLogFileBasis::RollLog_FileSize:??
  • ????????///?按大小滾動日志文件??
  • ????????break;??
  • ????case?el::base::RollingLogFileBasis::RollLog_DateTime:??
  • ????????///?按時間滾動日志文件??
  • ????{??
  • ????????time_t?cuurenttime?=?time(NULL);??
  • ????????cuurenttime?-=?60;??
  • ??
  • ????????struct::tm?oneMinuteAgo;??
  • ????????localtime_s(&oneMinuteAgo,?&cuurenttime);??
  • ??
  • ????????std::string?filenameTemp?=?filename;??
  • ????????int?pos?=?filenameTemp.rfind('.');??
  • ????????filenameTemp?=?filenameTemp.substr(0,?pos);??
  • ????????char?backupFile[MAX_PATH]?=?{?0?};??
  • ????????sprintf_s(backupFile,?MAX_PATH,?"%s_%04d%02d%02d%02d%02d.log",?filenameTemp.c_str(),?oneMinuteAgo.tm_year?+?1900??
  • ????????????,?oneMinuteAgo.tm_mon?+?1,?oneMinuteAgo.tm_mday,?oneMinuteAgo.tm_hour,?oneMinuteAgo.tm_min);??
  • ??
  • ????????///?自定義日志備份??
  • ????????std::stringstream?ss;??
  • ????????ss?<<?"move?"?<<?filename?<<?"?"?<<?backupFile;??
  • ????????system(ss.str().c_str());??
  • ????}??
  • ????????break;??
  • ????default:??
  • ????????break;??
  • ????}??
  • }??
  • ??
  • int?main(int,?char**)??
  • {??
  • ????el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);??
  • ????el::Loggers::addFlag(el::LoggingFlag::StrictLogFileTimeCheck);??
  • ????el::Loggers::reconfigureAllLoggers(el::ConfigurationType::LogFileRollingTime,?"minute");????///?按分鐘滾動日志文件??
  • ??
  • ????///?注冊回調函數??
  • ????el::Helpers::installPreRollOutCallback(rolloutHandler);??
  • ??
  • ????for?(int?i?=?0;?i?<?100000;?++i)??
  • ????{??
  • ????????LOG(DEBUG)?<<?"DEBUG";??
  • ????????LOG(INFO)?<<?"INFO";??
  • ????????DLOG(INFO)?<<?"DEBUG";??
  • ????????LOG(WARNING)?<<?"WARNING";??
  • ????????LOG(ERROR)?<<?"ERROR";??
  • ????????LOG(FATAL)?<<?"FATAL";??
  • ????????LOG(TRACE)?<<?"TRACE";??
  • ??
  • ????????VLOG(0)?<<?"VERBOSE";??
  • ????????Sleep(1000);??
  • ????}??
  • ??
  • ????///?注銷回調函數??
  • ????el::Helpers::uninstallPreRollOutCallback();??
  • ????return?0;??
  • }??
  • #include "easylogging++.h"INITIALIZE_EASYLOGGINGPPvoid rolloutHandler(const char* filename, std::size_t size, el::base::RollingLogFileBasis rollingbasis) {switch (rollingbasis){case el::base::RollingLogFileBasis::RollLog_FileSize:/// 按大小滾動日志文件break;case el::base::RollingLogFileBasis::RollLog_DateTime:/// 按時間滾動日志文件{time_t cuurenttime = time(NULL);cuurenttime -= 60;struct::tm oneMinuteAgo;localtime_s(&oneMinuteAgo, &cuurenttime);std::string filenameTemp = filename;int pos = filenameTemp.rfind('.');filenameTemp = filenameTemp.substr(0, pos);char backupFile[MAX_PATH] = { 0 };sprintf_s(backupFile, MAX_PATH, "%s_%04d%02d%02d%02d%02d.log", filenameTemp.c_str(), oneMinuteAgo.tm_year + 1900, oneMinuteAgo.tm_mon + 1, oneMinuteAgo.tm_mday, oneMinuteAgo.tm_hour, oneMinuteAgo.tm_min);/// 自定義日志備份std::stringstream ss;ss << "move " << filename << " " << backupFile;system(ss.str().c_str());}break;default:break;} }int main(int, char**) {el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);el::Loggers::addFlag(el::LoggingFlag::StrictLogFileTimeCheck);el::Loggers::reconfigureAllLoggers(el::ConfigurationType::LogFileRollingTime, "minute"); /// 按分鐘滾動日志文件/// 注冊回調函數el::Helpers::installPreRollOutCallback(rolloutHandler);for (int i = 0; i < 100000; ++i){LOG(DEBUG) << "DEBUG";LOG(INFO) << "INFO";DLOG(INFO) << "DEBUG";LOG(WARNING) << "WARNING";LOG(ERROR) << "ERROR";LOG(FATAL) << "FATAL";LOG(TRACE) << "TRACE";VLOG(0) << "VERBOSE";Sleep(1000);}/// 注銷回調函數el::Helpers::uninstallPreRollOutCallback();return 0; }
    特別提醒:
    • 因為在新增按時間滾動日志文件的功能中修改了回調函數,所以如果使用按大小滾動日志文件功能,也需要使用修改后的回調函數。
    • 因為只有在有日志寫入的時候才判斷是否需要更新文件,所以如果無日志記錄,日志文件是無法按時間滾動的。

    在實際應用中,如果日志按時間滾動,我們的日志文件基本上都會以時間來命名,所以為了更加方便地使用,我們可以在實現了按時間滾動功能的代碼上再增加一個宏定義ELPP_NAME_LOG_FILE_AFTER_TIME。通過定義這個宏,我們實現了這樣一個功能:當按時間滾動日志時,可以自動地創建新的日志文件,并且會以滾動時間命名新建文件。不過這個功能目前并不是很完善,使用起來有以下幾個限制條件:

    • 不同級別的日志必須保存在不同的日志文件中,否則無法實現日志滾動。
    • 按月份滾動的日志文件名中日期格式須配置:%datetime{%Y%M},如FILENAME = "log\\test_%datetime{%Y%M}.log"。
    • 按天數滾動的日志文件名中日期格式須配置:%datetime{%Y%M%d},如FILENAME = "log\\test_%datetime{%Y%M%d}.log"。
    • 按小時滾動的日志文件名中日期格式須配置:%datetime{%Y%M%d%H},如FILENAME = "log\\test_%datetime{%Y%M%d%H}.log"。
    • 按分鐘滾動的日志文件名中日期格式須配置:%datetime{%Y%M%d%H%m},如FILENAM="log\\test_%datetime{%Y%M%d%H%m}.log"。
    雖然使用這個功能有些限制條件,但是這些條件基本符合我平時的使用習慣,因為不同級別的日志在實際應用中我肯定是會保存在不同的文件中,而且文件名中的日期格式也和滾動的時間間隔一致,所以我也就沒有去完善這個功能。下面通過配置文件的方式演示了這個功能: [cpp] view plaincopy print?
  • #define?ELPP_NAME_LOG_FILE_AFTER_TIME??
  • #define?ELPP_NO_DEFAULT_LOG_FILE??
  • #include?"easylogging++.h"??
  • ??
  • INITIALIZE_EASYLOGGINGPP??
  • ??
  • int?main(int,?char**)??
  • {??
  • ????el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);??
  • ????el::Loggers::addFlag(el::LoggingFlag::StrictLogFileTimeCheck);??
  • ??
  • ????el::Configurations?conf("log.conf");??
  • ????el::Loggers::reconfigureAllLoggers(conf);??
  • ??
  • ????for?(int?i?=?0;?i?<?100000;?++i)??
  • ????{??
  • ????????LOG(DEBUG)?<<?"DEBUG";??
  • ????????LOG(INFO)?<<?"INFO";??
  • ????????LOG(WARNING)?<<?"WARNING";??
  • ????????LOG(ERROR)?<<?"ERROR";??
  • ????????LOG(FATAL)?<<?"FATAL";??
  • ????????LOG(TRACE)?<<?"TRACE";??
  • ??
  • ????????VLOG(0)?<<?"VERBOSE";??
  • ????????Sleep(1000);??
  • ????}??
  • ??
  • ????return?0;??
  • }??
  • #define ELPP_NAME_LOG_FILE_AFTER_TIME #define ELPP_NO_DEFAULT_LOG_FILE #include "easylogging++.h"INITIALIZE_EASYLOGGINGPPint main(int, char**) {el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);el::Loggers::addFlag(el::LoggingFlag::StrictLogFileTimeCheck);el::Configurations conf("log.conf");el::Loggers::reconfigureAllLoggers(conf);for (int i = 0; i < 100000; ++i){LOG(DEBUG) << "DEBUG";LOG(INFO) << "INFO";LOG(WARNING) << "WARNING";LOG(ERROR) << "ERROR";LOG(FATAL) << "FATAL";LOG(TRACE) << "TRACE";VLOG(0) << "VERBOSE";Sleep(1000);}return 0; }其中的配置文件 log.conf 內容如下: [plain] view plaincopy print?
  • *?GLOBAL:??
  • ????FORMAT??????????????????=???"[%level?|?%datetime]?|?%msg"??
  • ????ENABLED?????????????????=???true??
  • ????TO_FILE?????????????????=???true??
  • ????TO_STANDARD_OUTPUT??????=???true??
  • ????LOG_FLUSH_THRESHOLD?????=???0??
  • ????MILLISECONDS_WIDTH??????=???3??
  • ????PERFORMANCE_TRACKING????=???false??
  • ????MAX_LOG_FILE_SIZE???????=???2097152?##?Throw?log?files?away?after?2097152?2MB?/?209715200?200MB?/?4398046511104?1GB??
  • ????LOG_FILE_ROLLING_TIME???=???minute??
  • *?INFO:??
  • ????FILENAME????????????????=???"log\\test_%datetime{%Y%M%d%H%m}_info.log"??
  • *?DEBUG:??
  • ????FILENAME????????????????=???"log\\test_%datetime{%Y%M%d%H%m}_debug.log"??
  • *?WARNING:??
  • ????FILENAME????????????????=???"log\\test_%datetime{%Y%M%d%H%m}_warning.log"??
  • *?TRACE:??
  • ????FILENAME????????????????=???"log\\test_%datetime{%Y%M%d%H%m}_trace.log"??
  • *?VERBOSE:??
  • ????FILENAME????????????????=???"log\\test_%datetime{%Y%M%d%H%m}_verbose.log"??
  • *?ERROR:??
  • ????FILENAME????????????????=???"log\\test_%datetime{%Y%M%d%H%m}_error.log"??
  • *?FATAL:??
  • ????FILENAME????????????????=???"log\\test_%datetime{%Y%M%d%H%m}_fatal.log"??
  • * GLOBAL:FORMAT = "[%level | %datetime] | %msg"ENABLED = trueTO_FILE = trueTO_STANDARD_OUTPUT = trueLOG_FLUSH_THRESHOLD = 0MILLISECONDS_WIDTH = 3PERFORMANCE_TRACKING = falseMAX_LOG_FILE_SIZE = 2097152 ## Throw log files away after 2097152 2MB / 209715200 200MB / 4398046511104 1GBLOG_FILE_ROLLING_TIME = minute * INFO:FILENAME = "log\\test_%datetime{%Y%M%d%H%m}_info.log" * DEBUG:FILENAME = "log\\test_%datetime{%Y%M%d%H%m}_debug.log" * WARNING:FILENAME = "log\\test_%datetime{%Y%M%d%H%m}_warning.log" * TRACE:FILENAME = "log\\test_%datetime{%Y%M%d%H%m}_trace.log" * VERBOSE:FILENAME = "log\\test_%datetime{%Y%M%d%H%m}_verbose.log" * ERROR:FILENAME = "log\\test_%datetime{%Y%M%d%H%m}_error.log" * FATAL:FILENAME = "log\\test_%datetime{%Y%M%d%H%m}_fatal.log"利用上述演示代碼,可以完全自動地按照每分鐘的間隔創建如下格式的日志文件:

    按時間滾動日志文件之所以寫了這么多,最主要的原因就是為了說明在開源的日志庫中,我們可以完全自主地按照自己的想法來實現一些符合自己需求的功能。比如上面介紹的宏定義ELPP_NAME_LOG_FILE_AFTER_TIME功能,雖然還不完善,但是只要嚴格按照限制條件來使用,完全可以達到我們想要的效果。對于開源代碼,能夠直接使用還并不是我們最終的目的,能夠在開源的基礎上加以修改完善并應用于實際編程當中才是我們學習開源代碼的初衷。
    猛戳這里,下載源碼!



    總結

    以上是生活随笔為你收集整理的日志库EasyLogging++学习系列(10)—— 日志文件滚动的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    亚洲国产一区在线观看 | 激情欧美丁香 | 在线观看午夜 | 蜜桃av久久久亚洲精品 | 中文字幕高清有码 | 国产真实精品久久二三区 | 久久手机看片 | 亚洲视频在线免费看 | 久久亚洲私人国产精品va | 欧美在线视频日韩 | 欧美在线aaa | 91av在线不卡 | 久久av免费观看 | 日韩电影中文字幕在线观看 | 国产婷婷一区二区 | 国产破处在线播放 | av成人免费网站 | av午夜电影 | 麻豆视频免费在线播放 | 在线观看免费观看在线91 | 国产精品成人免费 | 中文字幕资源网 国产 | 特级西西444www高清大视频 | 久久久精品成人 | 日日操天天操夜夜操 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 国产美女主播精品一区二区三区 | 一区二区 不卡 | 久久av免费| 高清在线观看av | 日日夜夜网 | 日韩精品一区二区在线观看视频 | 成人免费在线播放 | 国产乱对白刺激视频不卡 | 日韩在线 一区二区 | 午夜精品一二区 | 久久久久| 99热在| 成人九九视频 | 久久成人麻豆午夜电影 | 91精品办公室少妇高潮对白 | 蜜臀精品久久久久久蜜臀 | 黄色在线观看污 | 免费国产黄线在线观看视频 | 欧美日韩中字 | 五月在线 | 亚洲精品美女久久17c | 一区二区精品在线 | 久久高清片 | www天天干 | 欧美吞精 | 激情av一区二区 | 少妇bbbb | 亚av在线| 九九天堂 | 五月综合久久 | 亚洲不卡123 | 成 人 免费 黄 色 视频 | 男女拍拍免费视频 | 国产二区电影 | 国内精品福利视频 | 久久只精品99品免费久23小说 | 亚洲人成网站精品片在线观看 | www.久久久com | 青春草国产视频 | 一区二区三区免费在线 | 久草在线视频资源 | 日批网站免费观看 | 一级α片免费看 | 2020天天干夜夜爽 | 超碰在线公开免费 | 日韩大片在线免费观看 | 99久久精品一区二区成人 | 一区二区三区四区五区在线视频 | 精品欧美一区二区精品久久 | 国产精品久久久毛片 | 日韩高清二区 | 久草精品在线播放 | 久久人人爽视频 | 亚洲婷婷丁香 | 国产高清成人 | 午夜婷婷在线播放 | 日韩欧美电影在线 | 黄色成人在线观看 | 亚洲视频观看 | 在线免费视频 你懂得 | 一级性av | av在线一级 | 在线免费黄 | 狠狠色丁香婷婷综合橹88 | 亚洲日本成人 | 日韩视频免费播放 | 久久久精品久久 | 免费看黄在线看 | 国产老太婆免费交性大片 | 日韩视频一区二区 | 99草视频| 婷婷久操| 精品国产一区二区三区四 | 国产中文字幕视频在线 | 欧美激情精品久久久 | 麻豆视频在线观看 | 亚洲 欧美变态 另类 综合 | 在线播放国产一区二区三区 | 不卡的av电影 | 99超碰在线播放 | 国产高清绿奴videos | 久久免费资源 | 亚洲女裸体| 视频在线91| 国产高清视频在线免费观看 | 久草视频中文在线 | www.夜色321.com | 国产1区2区3区在线 亚洲自拍偷拍色图 | 美女视频久久 | 国产精品99久久久精品免费观看 | 日韩av网站在线播放 | 天天干天天干天天 | 日韩在线观看精品 | 三级黄色网址 | 久久久久久久久久免费 | 亚洲精品视频在 | 一区二区三区高清在线 | 国产一区二区在线免费 | 久久精品1区2区 | 一区在线播放 | 国产亚洲一级高清 | 欧美日本不卡 | av电影免费在线看 | 美女久久久 | 国产成人一区二区三区在线观看 | 久久艹中文字幕 | 国产视频精品网 | 男女视频久久久 | 天天操天天怕 | 久久国产免费 | 久久99国产精品视频 | 国产精品18p| 天天操天天干天天爽 | 久久免费视频播放 | 久久草网站 | 免费看黄色毛片 | 日韩中文字幕免费在线观看 | 中文国产在线观看 | 日日草天天草 | 成人97视频| 色综合久久中文字幕综合网 | 欧美精品乱码久久久久久按摩 | 在线免费黄网站 | 久久国产福利 | 久久精品视频免费 | 精品亚洲成a人在线观看 | av丝袜美腿 | 中文字幕一区二区三区在线观看 | 国产精品涩涩屋www在线观看 | 国产资源网 | 天天爱天天舔 | 国产日产高清dvd碟片 | 欧美男男激情videos | 成年在线观看 | 99久久9 | 成年人免费av网站 | 亚洲永久精品一区 | 在线观看亚洲精品 | 91成人在线视频观看 | 国产网红在线观看 | 日日夜夜天天 | 不卡的av在线播放 | 中文av一区二区 | 黄色小说在线观看视频 | 免费看一级特黄a大片 | 国产国语在线 | 精品亚洲免a | 午夜精品久久久 | 二区三区av | 久久国产成人午夜av影院潦草 | 成人免费电影 | 成人黄色大片网站 | 国产精品精品久久久 | 欧美日韩在线网站 | 午夜精品中文字幕 | 韩日电影在线免费看 | 日韩免费小视频 | 成人免费视频网址 | 2024国产精品视频 | 久久综合久久八八 | 99国产精品一区二区 | 久久精品视频在线播放 | 九九99 | 综合色站导航 | 精品免费久久久久 | 国产亚洲欧美在线视频 | 国产日韩欧美在线一区 | 久久成人国产精品入口 | 免费福利在线播放 | 日韩不卡高清视频 | av电影免费在线看 | 精品久久久999 | 视频一区二区三区视频 | 天天综合网 天天综合色 | 日本中文字幕在线看 | 国产一区高清在线观看 | 激情婷婷欧美 | 色在线视频网 | 在线中文字母电影观看 | 久久tv视频 | 成人小视频在线 | 国产黄色片久久久 | 日韩电影在线观看中文字幕 | 国产破处精品 | 久久无码av一区二区三区电影网 | 亚洲人精品午夜 | 精品国产免费av | 99中文字幕 | 日韩a级黄色片 | 伊人黄| 亚洲精品1区2区3区 超碰成人网 | 国产原创av在线 | 草在线| 在线观看亚洲专区 | 在线亚州 | 国产一级黄色免费看 | 成人精品视频久久久久 | 国产在线永久 | 美女在线免费观看视频 | 日日干夜夜爱 | 91视频在线自拍 | 欧美韩日在线 | 中文字幕乱码亚洲精品一区 | 午夜国产福利视频 | 美女视频黄频大全免费 | 国产精品久久一区二区三区不卡 | 亚洲国产精品视频在线观看 | 欧美日韩在线视频一区二区 | 操处女逼 | www.天天干 | 日韩毛片在线播放 | 国产黄色看片 | 中文字幕免费一区二区 | 操操操日日日 | 国产一区二区播放 | 黄色一级免费网站 | 热久精品 | 91福利在线观看 | 亚洲免费国产视频 | 91九色在线观看视频 | 亚洲丁香久久久 | 成人在线免费看视频 | 人人干人人搞 | 99久久日韩精品免费热麻豆美女 | 狠狠色丁婷婷日日 | 成人在线观看网址 | 五月天丁香| 国产在线精品福利 | 国产精品免费在线视频 | 999色视频 | 午夜丁香网 | 中文字幕视频 | 深夜免费小视频 | 俺要去色综合狠狠 | av在线com | 射综合网| 日韩在线观看中文字幕 | 午夜视频在线观看一区二区 | 嫩模bbw搡bbbb搡bbbb| 国产97视频在线 | 亚洲人在线视频 | 亚洲精品小视频在线观看 | 久热爱| 午夜精品久久一牛影视 | 亚洲国产wwwccc36天堂 | 国产一卡二卡在线 | 国产午夜精品一区二区三区欧美 | 国产在线一区观看 | 精品国产精品久久 | av在线超碰| 中文字幕欧美日韩va免费视频 | 中文网丁香综合网 | 99九九热只有国产精品 | 最近更新的中文字幕 | 日本丰满少妇免费一区 | 黄色官网在线观看 | 国产精品欧美久久久久天天影视 | 久久久免费在线观看 | 8090yy亚洲精品久久 | 久久久久夜色 | 亚洲在线精品视频 | 97在线视频免费 | 国产精品久久久久永久免费看 | 天天插一插| 婷婷网五月天 | 久久久精品日本 | www.夜色.com | 日韩精品一区二区三区免费观看视频 | 国产明星视频三级a三级点| 日批在线看 | 六月久久婷婷 | 天天摸天天操天天舔 | 在线视频 你懂得 | 成人av播放 | av中文字幕免费在线观看 | 六月色丁香| 人人狠狠综合久久亚洲 | 亚洲国产经典视频 | 国产精品久久久久久久久大全 | 在线视频电影 | 免费av小说| 狠狠ri | 国产视频在线观看免费 | 日本在线观看中文字幕无线观看 | 成人性生交大片免费观看网站 | 精品一区精品二区高清 | 在线日韩精品视频 | 日韩精品一区二区三区视频播放 | 超碰人人av | 国产一级黄色电影 | 欧美日韩在线免费视频 | 欧美精品久久久久久久久免 | 久久久蜜桃| 粉嫩一二三区 | 中文字幕电影一区 | 天天摸日日摸人人看 | 免费在线观看av的网站 | 亚洲欧美精品一区 | 欧美一区二区三区四区夜夜大片 | 成人h在线观看 | 国产白浆视频 | 亚洲一区动漫 | 欧美日韩中文字幕在线视频 | 午夜精品久久久久99热app | 久久精品91久久久久久再现 | 免费91在线观看 | 久草免费福利在线观看 | 久久精品三 | 国产高清99| 久久深夜 | 特级片免费看 | 免费在线黄 | 国产一级二级在线观看 | 久久精品亚洲一区二区三区观看模式 | 豆豆色资源网xfplay | 亚洲精品国精品久久99热 | 欧美性生爱 | 久久综合久久综合久久综合 | 91精品无人成人www | 久久精品这里精品 | 久草观看 | 欧美日韩一区二区三区在线观看视频 | 亚洲精品mv在线观看 | 免费国产亚洲视频 | 91精品在线麻豆 | 国产专区第一页 | 免费观看版 | 综合国产在线观看 | 丁香六月婷 | 亚洲视频在线播放 | 成人h在线播放 | 欧美一区二区在线 | 国产夫妻自拍av | 国产精品av久久久久久无 | 99在线免费视频 | 欧美日韩免费看 | 欧美成人xxxx | 麻豆视频在线免费观看 | 久久婷婷五月综合色丁香 | 日本3级在线观看 | 久久九九九九 | 欧美 日韩 视频 | 免费在线观看一区二区三区 | 国产黑丝袜在线 | 成人欧美日韩国产 | 九九热免费精品视频 | 日韩一区精品 | 亚洲日本在线一区 | 2000xxx影视| 免费观看久久 | 波多野结衣日韩 | 麻豆综合网 | 欧美一级片免费 | 日韩网站免费观看 | 精品黄色在线观看 | 久久图| 欧美成a人片在线观看久 | 黄色小说在线观看视频 | 免费看国产视频 | 丁香色天天| 99久久精品免费看 | 在线观看日本高清mv视频 | 国产短视频在线播放 | 亚洲电影在线看 | 国产精品久久久久久久免费大片 | 日日久视频 | 天天夜夜亚洲 | a√天堂资源 | 成人在线超碰 | 国产一级三级 | 日韩区欧美久久久无人区 | 九九热精品在线 | 久久久久久久久毛片精品 | 国产在线精品视频 | 久视频在线 | 黄色一级大片在线观看 | 欧美精品天堂 | 久久看片网 | 在线观看中文字幕视频 | 久久理论影院 | 免费人成在线观看网站 | 99精品国产视频 | 在线观看中文字幕2021 | 国产资源精品 | 久草在线中文视频 | 一区二区三区高清不卡 | 手机av电影在线观看 | 99热手机在线 | 国产精品v a免费视频 | 黄色一级动作片 | 久久综合色天天久久综合图片 | 欧美影片 | 国产精品淫| 国产小视频在线免费观看视频 | 国产成人精品一区二区三区福利 | 99久久99热这里只有精品 | 黄色特一级片 | 黄色电影在线免费观看 | 亚洲激情五月 | 黄视频色网站 | 国产黄色片在线免费观看 | 超碰在线最新地址 | 久久久www成人免费毛片麻豆 | 久久一久久| 夜夜躁天天躁很躁波 | 亚洲欧洲精品视频 | 黄污视频网站 | 九九免费视频 | 亚洲激情p | 伊人久在线 | 久草在线看片 | 久草在线资源观看 | 二区三区毛片 | 久久99国产精品久久99 | 国产免费激情久久 | 亚洲v精品 | 国内成人精品视频 | 国产亚洲精品成人av久久ww | 在线观看91精品国产网站 | 日韩欧美视频二区 | 成人免费视频播放 | 亚洲精品国产第一综合99久久 | 亚洲美女在线国产 | 久久综合偷偷噜噜噜色 | 亚洲一区黄色 | av字幕在线 | 欧美日韩免费看 | 黄a在线观看 | 91成年人视频 | 91九色蝌蚪视频在线 | 在线亚洲午夜片av大片 | 国产精品乱码久久久 | 91网址在线观看 | www.com.黄 | 制服丝袜在线91 | 亚洲h视频在线 | 国产视频不卡一区 | 国产精品va | 久久99视频精品 | www.日本色| 久久免费视频一区 | 91精品一区国产高清在线gif | 久久国产精品色婷婷 | 亚洲免费av在线 | www.福利视频| 欧美激情视频在线免费观看 | 国产精品久久一区二区三区, | 午夜123| 欧美另类色图 | 日韩免费看片 | 日日摸日日 | 在线成人看片 | 国产精品v欧美精品 | 精品久久久久国产免费第一页 | av电影免费在线 | 91亚瑟视频 | 成人免费一区二区三区在线观看 | 美女黄频视频大全 | 天天干视频在线 | 十八岁免进欧美 | 亚洲一级二级三级 | 狠狠干2018| 国内久久精品视频 | 综合网中文字幕 | 91三级视频| 久久久久免费观看 | 91中文在线视频 | 国产裸体永久免费视频网站 | 国产精品99久久久久 | 日本福利视频在线 | 人人爽人人插 | 热久久免费视频 | 国产精品99页 | 丁香影院在线 | 久久精品一二区 | 在线免费观看麻豆视频 | 日韩一二三区不卡 | 国产99久久精品一区二区300 | 免费看黄在线看 | 午夜av剧场 | 日日夜夜天天射 | 欧美午夜a| 福利片视频区 | 国产欧美精品一区二区三区 | 在线中文字幕观看 | 四虎www | 天堂网一区二区 | 永久免费av在线播放 | www.黄色片.com | 免费看三级 | 中文字幕高清在线 | 免费三级黄 | 日韩在线视 | 一级成人免费 | 免费中文字幕在线观看 | 91色在线观看视频 | 天天躁天天操 | 日韩精品欧美视频 | 韩日三级在线 | 国产生活一级片 | 久久深夜 | 97人人模人人爽人人喊中文字 | 99精品欧美一区二区 | 在线视频观看91 | 日韩av一区二区在线 | 黄色小网站在线 | 婷婷在线资源 | 中文字幕一区二区三区四区视频 | 欧美日韩精品免费观看视频 | 亚洲乱码中文字幕综合 | 五月婷av | www.少妇 | 色综合色综合久久综合频道88 | 亚洲一区二区三区精品在线观看 | 日本aaa在线观看 | 久久麻豆视频 | 18做爰免费视频网站 | 麻豆影视在线观看 | 国产在线免费 | 国产成人精品网站 | 亚洲一区二区高潮无套美女 | 国产精品一区二区三区在线看 | 久久99视频免费观看 | 伊人成人激情 | 国产高清专区 | 免费国产黄线在线观看视频 | 中文字幕第一页在线播放 | 天天躁天天躁天天躁婷 | 成人小视频在线播放 | 久久精品首页 | 婷色在线| 亚洲人成精品久久久久 | 青青色影院 | 久久黄色片子 | 国产高清小视频 | 亚洲.www| 日韩在线高清 | 中文字幕乱码一区二区 | 亚洲一级电影视频 | 亚洲欧美色婷婷 | 日日干天天干 | 午夜精品一区二区三区在线播放 | www.午夜| 免费精品人在线二线三线 | 国产福利一区二区三区在线观看 | 久久久久免费精品国产 | 在线观看涩涩 | 波多野结衣在线播放视频 | 国产一级三级 | 丁香久久综合 | 免费进去里的视频 | 欧美日韩激情视频8区 | 国产精品成人一区二区三区 | 狠狠伊人 | 一区二区中文字幕在线播放 | 国产99爱 | 日韩在线高清 | 99精品久久99久久久久 | 亚洲精品免费在线 | 99久久婷婷国产综合亚洲 | 国产99久久久国产精品 | 成人黄色小说视频 | 亚洲性视频 | 男女精品久久 | 日本不卡久久 | 黄色毛片大全 | 伊人伊成久久人综合网站 | 日日碰狠狠躁久久躁综合网 | 国内精品久久久久影院优 | 4hu视频| www五月天com| 国产亚洲精品久久19p | 国产午夜精品一区二区三区欧美 | 国产亚洲日本 | 在线日韩视频 | 成人av中文字幕在线观看 | 国产成人av免费在线观看 | 国产在线观看免费观看 | 成人羞羞免费 | 91一区二区在线 | 99精品国产99久久久久久福利 | bbbbb女女女女女bbbbb国产 | av中文字幕在线看 | 亚洲国产精彩中文乱码av | 亚洲涩涩网 | 久久久久久黄色 | 99视频精品免费视频 | 国产一区二区三区视频在线 | 欧美性大战 | 丁香六月网 | 99久久精品日本一区二区免费 | 国产在线不卡视频 | 开心激情婷婷 | 天天操比 | 亚洲国产日韩欧美在线 | 亚洲成人精品在线观看 | 人人干人人做 | 久久综合久久88 | 亚洲专区欧美专区 | 国产高清不卡一区二区三区 | 在线免费观看麻豆视频 | 久久开心激情 | 色婷婷久久久 | 日韩中文字幕视频在线观看 | 九九九九九九精品任你躁 | 亚洲国产视频a | 国产精品一区在线观看 | 黄色成人免费电影 | 精品在线二区 | 国产亚洲精品电影 | av.com在线| 成年人视频在线免费观看 | 久久精品国产免费观看 | 91视频亚洲 | 91av手机在线观看 | 日韩高清免费电影 | 亚洲永久精品在线 | 日韩在线第一 | 免费成人av在线 | 日韩中文在线播放 | 操操碰| 91视频在线免费看 | 久久少妇免费视频 | 国产成人久久精品一区二区三区 | 久久久久高清毛片一级 | 99久久99久久精品免费 | 人人插人人舔 | 日韩av电影一区 | 美女视频黄在线观看 | 麻豆va一区二区三区久久浪 | 国模吧一区 | 在线免费观看视频 | 狠狠干夜夜爱 | 精品久久免费 | 亚洲欧美日韩不卡 | 99精品视频免费在线观看 | 国产精品成人一区二区 | aaa免费毛片 | 久久久福利视频 | 久久久久久伊人 | 狠狠干五月天 | 亚洲免费在线视频 | 超碰国产人人 | 日韩精品一区电影 | 97国产一区| 亚洲精品国产精品乱码不99热 | 久久精品视频在线 | 2021国产视频 | 香蕉在线视频播放网站 | 国产免费影院 | 国产精品高潮呻吟久久av无 | 亚洲爱爱视频 | 91免费看片黄 | 激情网站免费观看 | 成人av片免费观看app下载 | 五月婷亚洲 | av网站免费线看精品 | 摸阴视频 | 国产视频1 | 亚洲国产精品久久久久 | 最近日本字幕mv免费观看在线 | a黄色片| 亚洲国产日韩在线 | 久久国产精品久久久 | 精品国产亚洲在线 | 久久久久久久国产精品影院 | 久久免费视频6 | 中文字幕一区二区三区乱码不卡 | 国产精品久久久777 成人手机在线视频 | 午夜精品久久久久久久99水蜜桃 | 国产一性一爱一乱一交 | 国产一区二区手机在线观看 | 黄色软件在线观看 | 美女黄久久 | 手机av永久免费 | 69视频国产| 久久综合狠狠综合久久激情 | 久久免费美女视频 | 91亚洲欧美激情 | 中文字幕二区 | 久久久久亚洲精品中文字幕 | 黄色成年片| 91最新中文字幕 | 免费三级影片 | 夜夜澡人模人人添人人看 | 国产精品6 | 亚州av免费 | av大片免费在线观看 | 日韩丝袜 | 色婷婷九月 | 免费日韩视频 | 精品在线一区二区三区 | 91精品爽啪蜜夜国产在线播放 | 天天伊人网 | 玖玖在线播放 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 美国人与动物xxxx | 人人搞人人干 | 日韩精品一区不卡 | 亚洲日本va在线观看 | 日韩夜夜爽 | 在线日本看片免费人成视久网 | 91亚洲视频在线观看 | 99视频在线观看一区三区 | 久久99精品视频 | 国产99久久精品一区二区永久免费 | 黄色片免费在线 | 一区二区三区不卡在线 | 免费在线观看a v | 国产韩国精品一区二区三区 | 一级片免费观看 | 精品国产三级 | 久久综合狠狠 | 18久久久久| 激情综合电影网 | 国产精品久久久久久久久软件 | 久久免费视频播放 | 特级黄色片免费看 | 欧美一级特黄高清视频 | 国产成人99av超碰超爽 | 97超碰在线久草超碰在线观看 | 婷婷色在线观看 | 国产九色在线播放九色 | 天天干天天操天天干 | 丁香五月亚洲综合在线 | 超碰人人99 | 国产日韩中文字幕 | 四虎影视国产精品免费久久 | 中文字幕av在线免费 | 欧美精品色| 91精品网站 | 韩国精品福利一区二区三区 | 久久久久高清 | 欧美成年黄网站色视频 | 高清不卡一区二区三区 | 91网站观看 | 成人久久毛片 | 最近中文字幕视频完整版 | 四虎最新域名 | 成人免费在线观看入口 | 国产视频 亚洲视频 | 一级黄色在线视频 | 国产视频中文字幕 | 激情欧美日韩一区二区 | 久久国产精品视频免费看 | 亚洲高清不卡av | 最近中文字幕免费 | 麻豆va一区二区三区久久浪 | 久久久.com | 亚洲国产精品成人精品 | 福利一区二区 | 日韩中文在线视频 | 973理论片235影院9 | 日韩av黄 | 波多野结衣在线视频免费观看 | 亚洲毛片在线观看. | 亚洲精品在线免费看 | 91桃色免费观看 | 欧美九九九 | 国产伦理久久精品久久久久_ | 国产精品久久一区二区三区, | 色视频网站在线 | 中文字幕在线日 | av中文在线 | 国产美女久久久 | 最近中文国产在线视频 | 91大神一区二区三区 | 在线成人免费电影 | 黄污视频大全 | 亚洲高清视频在线观看免费 | 欧美久久影院 | 亚洲v精品| 国产精品 欧美 日韩 | av中文天堂 | 日韩一区二区免费在线观看 | 久99久在线视频 | 国产黄影院色大全免费 | 色综合久久99| 精品国产三级a∨在线欧美 免费一级片在线观看 | av黄色免费看| 又爽又黄在线观看 | 久久黄色片子 | japanesefreesex中国少妇 | 色噜噜在线观看视频 | 97国产电影 | 成人黄在线观看 | 中文字幕在线观看亚洲 | 国产h在线播放 | 久久精品99久久久久久2456 | 国产中文字幕视频在线观看 | 黄色小说视频在线 | 久久电影网站中文字幕 | av电影免费看 | 99午夜| 五月婷婷一区二区三区 | 日日夜夜精品 | 狠狠躁18三区二区一区ai明星 | www.婷婷色 | 国产精品一区二区久久精品 | 久久久亚洲精品 | 久久久久久国产一区二区三区 | 国产破处在线视频 | 精品久久九九 | av在线专区 | 久久精品99北条麻妃 | 日韩精品一区二 | 国产999精品久久久 免费a网站 | 国产精品亚洲视频 | 97免费中文视频在线观看 | 免费色网站 | 亚洲精品高清一区二区三区四区 | 69av久久| 日韩亚洲在线视频 | 香蕉视频91| 亚洲成人黄色 | 色多多污污在线观看 | 国产在线观看黄 | 91精品啪| 亚洲综合日韩在线 | 国产永久免费 | 国产色视频一区二区三区qq号 | 久久99精品波多结衣一区 | 亚洲一区日韩精品 | 欧美激情综合色 | 免费久久99精品国产 | 99热手机在线 | 国产精品成人在线 | 日本超碰在线 | 国产精品网红福利 | 91视频免费网址 | 99精品国产在热久久下载 | 正在播放亚洲精品 | 国产精品理论片 | 精品资源在线 | 西西4444www大胆无视频 | 亚洲人xxx | 99re8这里有精品热视频免费 | 国产精品一区免费看8c0m | 久久一区二区三区超碰国产精品 | 成人丁香花 | 特片网久久 | 亚洲精品高清一区二区三区四区 | 国产美女无遮挡永久免费 | 欧美精品少妇xxxxx喷水 | 一本一本久久a久久精品综合 | 69国产在线观看 | av高清不卡 | 久在线 | 美女黄频在线观看 | 973理论片235影院9 | 亚洲电影网站 | 日韩视频免费观看高清完整版在线 | 国产 日韩 在线 亚洲 字幕 中文 | 在线观看色网站 | 亚洲精品久久久蜜桃 | 国产精品ⅴa有声小说 | 日韩美女黄色片 | 国产精品久久久久久久久久久杏吧 | 91高清不卡| 午夜国产福利视频 | 在线黄色av电影 | 久久躁日日躁aaaaxxxx | 色在线免费 | 国产视频久久久久 | 国产美女网站视频 | 国产精品第7页 | 亚洲欧美少妇 | 日韩av电影手机在线观看 | 国产中文字幕视频在线观看 | 天天爽综合网 | 日韩大片在线 | 中文字幕在线免费看 | 黄色网www | 91丨九色丨国产在线观看 | 综合天堂av久久久久久久 | 欧美色综合天天久久综合精品 | 五月激情丁香婷婷 | 天天干天天射天天爽 | 激情五月网站 | 天天综合网国产 | 日本爱爱免费 | a在线v| 色a4yy| 天天摸天天干天天操天天射 | 国产精品一区二区久久精品爱微奶 | 热99久久精品 | 992tv成人免费看片 | 在线免费观看视频一区 | 伊人春色电影网 | 波多野结衣网址 | 日韩中字在线观看 | 日韩r级电影在线观看 | 天天色天天射综合网 | 午夜少妇av | 欧美人人| 香蕉视频在线网站 | 国产高清视频免费最新在线 | 精品国产一区二区在线 | 色999视频 | 综合婷婷丁香 | 国产91探花| 国产精品麻豆视频 | 亚洲一区在线看 | 99 色| 欧洲精品视频一区二区 | 日韩av中文字幕在线免费观看 | 欧美另类69 | 国产日产亚洲精华av | 亚洲视频电影在线 | 99久久99视频 | 亚洲毛片久久 | 久久开心激情 | av软件在线观看 | 91女子私密保健养生少妇 | av在线电影免费观看 | 天天干,天天草 | 欧美另类调教 | 色橹橹欧美在线观看视频高清 | 国产成人一区二区三区在线观看 | 国产精品一区二区无线 | 丁香婷婷激情网 | 在线观看视频你懂得 | 国产精品视频久久 | 国产精品成人a免费观看 | 亚洲九九爱| 99久久日韩精品视频免费在线观看 | 三级av在线免费观看 | 国内精品久久久 | 久久久午夜剧场 | 久久久久久美女 | 国产精品视频app | 不卡电影免费在线播放一区 | 91日韩在线专区 | 色欧美88888久久久久久影院 | 中文字幕在线高清 | 午夜久久久久 | 九九视频免费观看视频精品 | 中文字幕高清 | 日本女人的性生活视频 | 国产中文字幕三区 | 高清av影院 | 视频在线一区二区三区 | 日韩一区二区免费播放 | 99在线观看视频网站 | 日日操网站 | 国产精品99久久久久久武松影视 | 久草在线中文888 | 91成人在线免费观看 | 免费黄色a网站 | 狠狠干夜夜操天天爽 | 久草在线中文888 | 久草精品电影 | 欧美日本不卡高清 | 97人人澡人人爽人人模亚洲 | 国产精品九九久久久久久久 | 手机av永久免费 | 久久综合久久久 | 日韩在线观看网址 | 中文字幕国内精品 | 色视频网址 | 日韩网站一区二区 | 少妇视频一区 | 蜜臀av性久久久久av蜜臀妖精 | 国产性天天综合网 | 91大片网站 | 91视频麻豆视频 | 国产精品久久久av久久久 | 亚州视频在线 | 人人讲下载 | www.黄色片网站 | 9色在线视频 | 日本在线视频一区二区三区 |