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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python多线程怎么写日志_Python日志记录在多进程下的使用

發布時間:2024/10/8 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python多线程怎么写日志_Python日志记录在多进程下的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、 問題描述

項目中,使用RotatingFileHandler根據日志文件大小來切分日志。設置文件的MaxBytes為1GB, backupCount大小為5。

經查看,發現日志文件的大小均小于10MB,且每個回滾日志文件的寫入時間也都比較接近。

2、 分析

日志文件過小,猜測是代碼有問題,或者是文件內容有丟失;日志寫入時間接近猜測是同時寫入的問題。

經檢查,代碼沒有問題,排除此原因??紤]當前使用gunicorn的多進程啟動程序,多半是多個進程同時寫入當個文件造成日志文件丟失。

logging模塊是線程安全的,但并不是進程安全的。

如何解決此問題呢?首先先過一遍Python的logging模塊在處理日志回滾的具體實現方法。

2.1 logging模塊實現日志回滾

logging中RotatingFileHandler類和TimedRotatingFileHandler類分別實現按照日志文件大小和日志文件時間來切分文件,均繼承自BaseRotatingHandler類。

BaseRotatingHandler類中實現了文件切分的觸發和執行,具體過程如下:

def emit(self, record):

"""

Emit a record.

Output the record to the file, catering for rollover as described

in doRollover().

"""

try:

if self.shouldRollover(record):

self.doRollover()

logging.FileHandler.emit(self, record)

except Exception:

self.handleError(record)

具體的執行過程shouldRollover(record)和doRollover()函數則在RotatingFileHandler類和TimedRotatingFileHandler類中實現。

以RotatingFileHandler類為例,doRollover()函數流程如下:

def doRollover(self):

if self.stream:

self.stream.close()

self.stream = None

if self.backupCount > 0:

for i in range(self.backupCount - 1, 0, -1): # 從backupCount,依次到1

sfn = self.rotation_filename("%s.%d" % (self.baseFilename, i))

dfn = self.rotation_filename("%s.%d" % (self.baseFilename, i + 1))

if os.path.exists(sfn):

if os.path.exists(dfn):

os.remove(dfn)

os.rename(sfn, dfn) # 實現將xx.log.i->xx.log.i+1

dfn = self.rotation_filename(self.baseFilename + ".1")

# ---------start-----------

if os.path.exists(dfn): # 判斷如果xx.log.1存在,則刪除xx.log.1

os.remove(dfn)

self.rotate(self.baseFilename, dfn) # 將xx.log->xx.log.1

# ----------end------------

if not self.delay:

self.stream = self._open() # 執行新的xx.log

分析如上過程,整個步驟是:

當前正在處理的日志文件名為self.baseFilename,該值self.baseFilename = os.path.abspath(filename)是設置的日志文件的絕對路徑,假設baseFilename為error.log。

當進行文件回滾的時候,會依次將error.log.i重命名為error.log.i+1。

判斷error.log.1是否存在,若存在,則刪除,將當前日志文件error.log重命名為error.log.1。

self.stream重新指向新建error.log文件。

當程序啟動多進程時,每個進程都會執行doRollover過程,若有多個進程進入臨界區,則會導致dfn被刪除多次等多種混亂操作。

2.2 多進程日志安全輸出到同一文件方案

相應的解決方法:

將日志發送到同一個進程中,由該進程負責輸出到文件中(使用Queue和QueueHandler將所有日志事件發送至一個進程中)

對日志輸出加鎖,每個進程在執行日志輸出時先獲得鎖(用多處理模塊中的Lock類來序列化對進程的文件訪問)

讓所有進程都將日志記錄至一個SocketHandler,然后用一個實現了套接字服務器的單獨進程一邊從套接字中讀取一邊將日志記錄至文件(Python手冊中提供)

3、解決方案

3.1 使用ConcurrentRotatingFileHandler包

該方法就屬于加鎖方案。

ConcurrentLogHandler 可以在多進程環境下安全的將日志寫入到同一個文件,并且可以在日志文件達到特定大小時,分割日志文件(支持按文件大小分割)。但ConcurrentLogHandler 不支持按時間分割日志文件的方式。

ConcurrentLogHandler 模塊使用文件鎖定,以便多個進程同時記錄到單個文件,而不會破壞日志事件。該模塊提供與RotatingFileHandler類似的文件循環方案。

該模塊的首要任務是保留您的日志記錄,這意味著日志文件將大于指定的最大大小(RotatingFileHandler是嚴格遵守最大文件大小),如果有多個腳本的實例同時運行并寫入同一個日志文件,那么所有腳本都應該使用ConcurrentLogHandler,不應該混合和匹配這這個類。

并發訪問通過使用文件鎖來處理,該文件鎖應確保日志消息不會被丟棄或破壞。這意味著將為寫入磁盤的每個日志消息獲取并釋放文件鎖。(在Windows上,您可能還會遇到臨時情況,必須為每個日志消息打開和關閉日志文件。)這可能會影響性能。在我的測試中,性能綽綽有余,但是如果您需要大容量或低延遲的解決方案,建議您將其放在其他地方。

這個包捆綁了portalocker來處理文件鎖定。由于使用了portalocker模塊,該模塊當前僅支持“nt”和“posix”平臺。

安裝:

pip install ConcurrentLogHandler

該模塊支持Python2.6及以后版本。

ConcurrentLogHandler的使用方法與其他handler類一致,如與RotatingFileHandler的使用方法一樣。

初始化函數及參數:

class ConcurrentRotatingFileHandler(BaseRotatingHandler):

"""

Handler for logging to a set of files, which switches from one file to the

next when the current file reaches a certain size. Multiple processes can

write to the log file concurrently, but this may mean that the file will

exceed the given size.

"""

def __init__(self, filename, mode='a', maxBytes=0, backupCount=0,

encoding=None, debug=True, delay=0):

參數含義同Python內置RotatingFileHandler類相同,具體可參考上一篇博文Python logging日志管理 - 簡書。同樣繼承自BaseRotatingHandler類。

簡單的示例:

import logging

from cloghandler import ConcurrentRotatingFileHandler

?

logger = logging.getLogger()

rotateHandler = ConcurrentRotatingFileHandler('./logs/my_logfile.log', "a", 1024*1024, 5)

logger.addHandler(rotateHandler)

logger.setLevel(logging.DEBUG)

?

logger.info('This is a info message.')

為了適應沒有ConcurrentRotatingFileHandler包的情況,增加回退使用RotatingFileHandler的代碼:

try:

from cloghandler import ConcurrentRotatingFileHandler as RFHandler

except ImportError:

from warning import warn

warn('ConcurrentRotatingFileHandler package not installed, Using builtin log handler')

from logging.handlers import RotatingFileHandler as RFHandler

運行后可以發現,會自動創建一個.lock文件,通過鎖的方式來安全的寫日志文件。

3.2 對日志輸出加鎖

TimedRotatingFileHandler類doRollover函數的主要部分如下:

def doRollover(self):

....

dfn = self.rotation_filename(self.baseFilename + "." +

time.strftime(self.suffix, timeTuple))

# -------begin-------

if os.path.exists(dfn): # 判斷如果存在dfn,則刪除

os.remove(dfn)

self.rotate(self.baseFilename, dfn) # 將當前日志文件重命名為dfn

# --------end--------

if self.backupCount > 0:

for s in self.getFilesToDelete():

os.remove(s)

if not self.delay:

self.stream = self._open()

....

修改思路:

判斷dfn文件是否已經存在,如果存在,表示已經被rename過了;如果不存在,則只允許一個進程去rename,其他進程需等待。

新建一個類繼承自TimeRotatingFileHandler,修改doRollover函數,只需處理上面代碼的注釋部分即可。如下:

class MPTimeRotatingFileHandler(TimeRotatingFileHandler):

def doRollover(self):

....

dfn = self.rotation_filename(self.baseFilename + "." +

time.strftime(self.suffix, timeTuple))

# ----modify start----

if not os.path.exists(dfn):

f = open(self.baseFilename, 'a')

fcntl.lockf(f.fileno(), fcntl.LOCK_EX)

if os.path.exists(self.baseFilename): # 判斷baseFilename是否存在

self.rotate(self.baseFilename, dfn)

# ----modify end-----

if self.backupCount > 0:

for s in self.getFilesToDelete():

os.remove(s)

....

3.3 重寫FileHandler類

logging.handlers.py中各類的繼承關系如下圖所示:

繼承關系

TimeRotatingFileHandler類就是繼承自該類,在FileHandler類中增加一些處理。

具體可參考以下博文:

在Python官方手冊中,提供了多進程中日志記錄至單個文件的方法。

logging是線程安全的,將單個進程中的多個線程日志記錄至單個文件也是支持的。但將多個進程中的日志記錄至單個文件中則不支持,因為在Python中并沒有在多個進程中實現對單個文件訪問的序列化的標準方案。

將多個進程中日志記錄至單個文件中,有以下幾個方案:

讓所有進程都將日志記錄至一個 SocketHandler,然后用一個實現了套接字服務器的單獨進程一邊從套接字中讀取一邊將日志記錄至文件。

使用 Queue 和 QueueHandler 將所有的日志事件發送至你的多進程應用的一個進程中。

3.4 單獨進程負責日志事件

一個單獨監聽進程負責監聽其他進程的日志事件,并根據自己的配置記錄。

示例:

import logging

import logging.handlers

import multiprocessing

?

from random import choice, random

import time

?

def listener_configurer():

root = logging.getLogger()

h = logging.handlers.RotatingFileHandler('test.log', 'a', 300,10) # rotate file設置的很小,以便于查看結果

f = logging.Formatter('%(asctime)s %(processName)-10s %(name)s %(levelname)-8s %(message)s')

h.setFormatter(f)

root.addHandler(h)

def listenser_process(queue, configurer):

configurer()

while True:

try:

record = queue.get()

if record is None:

break

logger = logging.getLogger(record.name)

logger.handle(record)

except Exception:

import sys, traceback

print('Whoops! Problem:', file=sys.stderr)

trackback.print_exc(file=sys.stderr)

?

LEVELS = [logging.DEBUG, logging.INFO, logging.WARNING,

logging.ERROR, logging.CRITICAL]

?

LOGGERS = ['a.b.c', 'd.e.f']

?

MESSAGES = [

'Random message #1',

'Random message #2',

'Random message #3',

]

?

def worker_configurer(queue):

h = logging.handlers.QueueHandler(queue)

root = logging.getLogger()

root.addHandler(h)

root.setLevel(logging.DEBUG)

# 該循環僅記錄10個事件,這些事件具有隨機的介入延遲,然后終止

def worker_process(queue, configurer):

configurer(queue)

name = multiprocessing.current_process().name

print('Worker started:%s'%name)

for i in range(10):

time.sleep(random())

logger = logging.getLogger(choice(LOGGERS))

level = choice(LEVELS)

message = choice(MESSAGES)

logger.log(level, message)

# 創建隊列,創建并啟動監聽器,創建十個工作進程并啟動它們,等待它們完成,然后將None發送到隊列以通知監聽器完成

def main():

queue = multiprocessing.Queue(-1)

listener = multiprocessing.Process(target=listener_process,

args=(queue, listener_configurer))

listener.start()

workers = []

for i in range(10):

worker = multiprocessing.Process(target=worker_process,

args=(queue, listener_configurer))

workers.append(worker)

worker.start()

for w in workers:

w.join()

queue.put_nowait(None)

listener.join()

if __name__ == '__main__':

main()

使用主進程中一個單獨的線程記錄日志

下面這段代碼展示了如何使用特定的日志記錄配置,例如foo記錄器使用了特殊的處理程序,將foo子系統中所有的事件記錄至一個文件mplog-foo.log。在主進程(即使是在工作進程中產生的日志事件)的日志記錄機制中將直接使用恰當的配置。

import logging

import logging.config

import logging.handlers

from multiprocessing import Process, Queue

import random

import threading

import time

?

def logger_thread(q):

while True:

record = q.get()

if record is None:

break

logger = logging.getLogger(record.name)

logger.handle(record)

def worker_process(q):

qh = logging.handlers.QueueHandler(q)

root = logging.getLogger()

root.setLevel(logging.DEBUG)

root.addHandler(qh)

levels = [logging.DEBUG, logging.INFO, logging.WARNING, logging.ERROR,

logging.CRITICAL]

loggers = ['foo', 'foo.bar', 'foo.bar.baz', 'spam', 'spam.ham', 'spam.ham.eggs']

for i in range(100):

lv1=l = random.choice(levles)

logger = logging.getLogger(random.choice(loggers))

logger.log(lvl, 'Message no. %d', i)

?

for __name__ == '__main__':

q = Queue()

d = {

'version': 1,

'formatters': {

'detailed': {

'class': 'logging.Formatter',

'format': '%(asctime)s %(name)-15s %(levelname)-8s %(processName)-10s %(message)s'

}

},

'handlers': {

'console': {

'class': 'logging.StreamHandler',

'level': 'INFO',

},

'file': {

'class': 'logging.FileHandler',

'filename': 'mplog.log',

'mode': 'w',

'formatter': 'detailed',

},

'foofile': {

'class': 'logging.FileHandler',

'filename': 'mplog-foo.log',

'mode': 'w',

'formatter': 'detailed',

},

'errors': {

'class': 'logging.FileHandler',

'filename': 'mplog-errors.log',

'mode': 'w',

'level': 'ERROR',

'formatter': 'detailed',

},

},

'loggers': {

'foo': {

'handlers': ['foofile']

}

},

'root': {

'level': 'DEBUG',

'handlers': ['console', 'file', 'errors']

},

}

workers = []

for i in range(5):

wp = Process(target=worker_process, name='worker %d'%(i+1), args=(q,))

workers.append(wp)

wp.start()

logging.config.dictConfig(d)

lp = threading.Thread(target=logger_thread, args=(q,))

lp.start()

for wp in workers:

wp.join()

q.put(None)

lp.join()

3.5 logging.SocketHandler的方案

具體實現參考如下博客:

4、參考文獻

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的python多线程怎么写日志_Python日志记录在多进程下的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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

欧美日韩一区二区免费在线观看 | 日本动漫做毛片一区二区 | 96久久精品| 日韩免费电影一区二区 | 香蕉视频网址 | 国产在线高清 | 久久久这里有精品 | 国产视频在线免费 | 麻豆国产精品视频 | 最新免费av在线 | 成人午夜性影院 | 久久久久久久久久网站 | 国产精品va最新国产精品视频 | 黄色电影在线免费观看 | 久久久噜噜噜久久久 | 中文字幕免费国产精品 | 五月激情久久 | 亚洲精品国产第一综合99久久 | www.天天操.com | www.久久视频 | 最近中文字幕免费 | 国产精品嫩草影视久久久 | 亚洲一级片在线观看 | 国产99在线免费 | 深夜精品福利 | 亚洲最新在线 | 国产亚洲精品久久久久久久久久久久 | 免费高清av在线看 | 欧美性色综合网 | 狠狠干,狠狠操 | 久草男人天堂 | 色婷婷狠狠五月综合天色拍 | 亚洲精品在线视频观看 | 国产免费观看高清完整版 | 国产精品自产拍在线观看网站 | 亚洲美女视频网 | 91精品国产电影 | www亚洲精品 | 激情视频在线观看网址 | 亚洲人成在线观看 | 亚洲欧美日韩国产一区二区 | 国产精品18久久久久久久网站 | 中文字幕一区二区三区四区久久 | 免费精品在线 | 色视频在线观看 | 久久久精品小视频 | 亚洲乱码中文字幕综合 | 亚洲一片黄 | 香蕉视频国产在线观看 | 国产成人亚洲精品自产在线 | 99久久99久久免费精品蜜臀 | 高清国产一区 | 一区二区三区在线电影 | 国产艹b视频 | 亚洲精品久久久久中文字幕二区 | 国产又粗又猛又爽 | 国产一区在线观看视频 | 能在线观看的日韩av | 国产日韩欧美在线播放 | 天天噜天天色 | 亚洲国产中文字幕 | av福利在线导航 | 成人国产精品久久久久久亚洲 | 婷婷四房综合激情五月 | 久久综合影院 | 久草在线视频看看 | 99精品久久只有精品 | 国产高清在线观看av | 在线精品国产 | 中文字幕最新精品 | 欧美伦理电影一区二区 | 91精品国产自产老师啪 | 9797在线看片亚洲精品 | 国际精品久久久久 | 亚洲精品视频免费在线观看 | 亚洲欧洲一区二区在线观看 | 天天操夜夜想 | 中日韩在线 | 欧美视频日韩 | 中文字幕亚洲不卡 | 国产无套精品久久久久久 | 九九在线国产视频 | 亚洲91av| 2021国产视频 | 狠狠躁日日躁夜夜躁av | 欧美精品久久久久a | 成人免费在线网 | 亚洲作爱视频 | 999成人网| 日韩毛片精品 | 国产明星视频三级a三级点| a天堂免费| av电影免费在线看 | 亚洲精品在线免费播放 | 最新国产精品视频 | 亚洲精品视频网站在线观看 | 激情欧美xxxx | 国产麻豆精品久久 | 9999亚洲| 伊人天天干 | 免费在线一区二区 | 狠狠色狠狠色综合日日92 | 日韩精品久久久久久久电影竹菊 | 国产高清在线观看av | 99久久国产免费看 | 69精品视频在线观看 | av色网站| 国产黄免费在线观看 | 精品在线播放 | 麻豆综合网 | 中文在线字幕免费观 | av在线播放中文字幕 | 精品一区二区在线免费观看 | 黄污网站在线 | .精品久久久麻豆国产精品 亚洲va欧美 | 成人在线观看影院 | 久操操| 国产黄在线免费观看 | 人人舔人人射 | 久久精品久久99 | 国产精品黄色在线观看 | 丝袜美女在线 | 久久久久99精品成人片三人毛片 | 欧美福利片在线观看 | 国产精品视频免费在线观看 | 欧美性大胆 | 欧美日韩一区二区在线观看 | 女人魂免费观看 | 久久久高清 | 黄色软件在线观看 | 精品国产乱码一区二 | 99视频精品全国免费 | 日韩精品在线视频免费观看 | av电影在线免费观看 | 国产网红在线观看 | 久久久99精品免费观看 | 久久久久久久av | 在线观看午夜 | 在线免费视频你懂的 | 精品人人爽 | 国产中文| 色综合天 | 久久神马影院 | 日韩一区二区三区免费视频 | 日韩二区三区在线观看 | 麻豆综合网 | 黄色日批网站 | 99久久国产免费,99久久国产免费大片 | 国产精品一区免费在线观看 | 国产亚洲成av人片在线观看桃 | 久久 地址 | 91在线91拍拍在线91 | 天天综合人人 | 欧美成天堂网地址 | 天天干天天插 | 久久看片 | 在线视频app | 亚洲激情网站免费观看 | 成人 国产 在线 | 国产淫片 | 在线视频99| 免费在线a | 国产视频一二三 | 亚洲视频在线播放 | 在线观看www91| 国产手机在线播放 | 国产精品福利一区 | 久久精品久久久久久久 | 插综合网| 激情视频免费在线观看 | 国产精品免费视频一区二区 | 99久久精品国产欧美主题曲 | 在线日韩中文字幕 | 激情黄色一级片 | 亚洲精品美女久久久久 | 一区二区三区电影在线播 | 五月天伊人 | 激情五月激情综合网 | 亚洲精品短视频 | 亚洲三级黄色 | 国产视频在线观看一区 | 91精品啪在线观看国产线免费 | 久久精品专区 | 国产精品第2页 | 国产91精品一区二区麻豆亚洲 | 亚洲精品毛片一级91精品 | 91手机视频在线 | 黄在线免费观看 | 久久成人亚洲欧美电影 | 激情开心网站 | 就色干综合 | 成人高清在线观看 | 亚洲国产精品资源 | 91精品国产三级a在线观看 | 久久免费视频7 | 91黄色成人| av中文字幕网| 亚洲国产美女久久久久 | 精品一区二区三区四区在线 | 国产精品黄色av | 国产精品福利在线观看 | 在线播放你懂 | 久久99久久99精品免视看婷婷 | 国产不卡一二三区 | 国产在线观看污片 | 日日操天天操夜夜操 | 日韩精品91偷拍在线观看 | 欧美在线观看视频一区二区 | 成人av高清 | 亚洲一区精品二人人爽久久 | 最新国产中文字幕 | av免费线看 | 波多野结衣电影一区二区 | 岛国大片免费视频 | 91av在线免费观看 | 亚洲 av网站| 91精品国产99久久久久 | 国产婷婷vvvv激情久 | 亚洲综合视频在线 | 国产在线观看网站 | 一级黄色网址 | 日韩欧美视频在线播放 | 国产91免费在线观看 | 91av电影网| 国产精品丝袜在线 | 99视频国产精品 | 久久视频免费看 | 久久久国产精品亚洲一区 | av在线播放中文字幕 | 中文亚洲欧美日韩 | 91av视屏 | 日韩视频在线播放 | 国产69精品久久久久久 | 欧美射射射 | 日本不卡一区二区三区在线观看 | 久久久久久久久久久久av | 国产成人精品亚洲 | 九九免费观看视频 | 二区三区精品 | 黄色av一区 | 91福利国产在线观看 | 国产真实精品久久二三区 | 色成人亚洲网 | 91成人精品 | 综合久久网站 | 精品国产精品久久 | 在线观看的黄色 | 一区二区中文字幕在线 | 免费精品在线 | 波多野结衣一区二区 | 久久se视频 | 国产精品免费久久久久影院仙踪林 | 久久免视频 | 91人人澡人人爽人人精品 | 一区二区视频在线免费观看 | 在线成人av| 久久精品国产v日韩v亚洲 | 久青草影院 | 亚洲欧美日韩精品久久奇米一区 | 丁香激情综合久久伊人久久 | 成人久久网| 在线影视 一区 二区 三区 | 日日摸日日添夜夜爽97 | 亚洲精品综合一区二区 | 久久国产精品久久国产精品 | 欧美精品一区二区在线播放 | 九色最新网址 | 亚洲国产97在线精品一区 | 国产精品免费久久久 | 亚洲色图色 | 国产精品久久久久久久久久东京 | 一级黄色在线免费观看 | 91在线小视频 | 午夜久久网站 | 天天插日日射 | 伊人婷婷久久 | 黄色大片日本免费大片 | 91精品国产92久久久久 | 日韩电影中文字幕 | 天天操天天色综合 | 免费国产一区二区 | 欧美va天堂va视频va在线 | 国产一级黄色av | 免费观看一级特黄欧美大片 | 欧美国产视频在线 | 国内精品中文字幕 | 国产99色 | 色综合久久88 | 91精品国产一区二区在线观看 | 欧美日韩亚洲一 | 99理论片| 国产视频一 | 天天草视频 | av免费在线观看1 | 亚洲精品国产拍在线 | 国产一二区精品 | 精品美女久久久久 | 亚洲视频,欧洲视频 | 免费三级黄色 | 99精品免费在线观看 | 欧美在线你懂的 | 69国产盗摄一区二区三区五区 | 碰超在线97人人 | 久草久视频| 在线视频欧美日韩 | 色操插 | 综合五月| 视频国产精品 | 国产美女永久免费 | 日批视频在线观看免费 | 久久狠狠干| 亚洲精品在线资源 | 久久理论片 | 日韩在线观看的 | 婷婷开心久久网 | 亚洲日本一区二区在线 | 最近乱久中文字幕 | 999男人的天堂 | 91精品一区二区在线观看 | 偷拍视频一区 | 国产欧美久久久精品影院 | 九九免费精品视频 | 免费福利在线视频 | 日本精品在线视频 | 欧美日韩国产精品一区二区三区 | 精品国产欧美一区二区三区不卡 | 中文字幕888| 免费网站观看www在线观看 | 一级国产视频 | 99理论片| a视频免费看 | 99视频国产精品 | 精品国产一区二区三区久久久蜜臀 | 毛片一级免费一级 | 在线视频你懂 | 国产精在线 | 国产香蕉97碰碰碰视频在线观看 | 超碰97人 | www.久久婷婷 | 亚洲精品合集 | 波多野结衣在线观看一区二区三区 | 亚洲精品中文字幕在线观看 | 91视频91自拍 | 色播五月激情五月 | 国产一卡二卡在线 | 国产在线精品一区 | 亚洲视频在线免费观看 | 久久视频一区 | 天天操天天干天天干 | 亚洲电影第一页av | 欧美亚洲另类在线视频 | 狠狠色伊人亚洲综合网站野外 | 成人在线视频免费看 | 91九色蝌蚪国产 | 在线观看精品黄av片免费 | 欧美精品九九99久久 | 国内精品久久久久久久久久久 | 西西www4444大胆在线 | 日韩欧美极品 | 精品久久网 | 国产视频一区二区在线 | 久久亚洲影视 | 久久a国产| 国产午夜精品av一区二区 | 欧美色图另类 | 97精品国产97久久久久久免费 | 亚洲天天综合网 | 久久少妇免费视频 | 国产精品99久久久久久久久久久久 | 97香蕉超级碰碰久久免费软件 | 99视频在线免费观看 | 精壮的侍卫呻吟h | 久一在线 | 99高清视频有精品视频 | 91超级碰 | 91亚洲精品视频 | av网站地址 | 成人在线一区二区 | 久久久久综合网 | 亚洲成色777777在线观看影院 | 亚洲作爱视频 | 成人国产精品av | 特级毛片网| 99色在线| 二区三区中文字幕 | 91久久久久久久一区二区 | 日本少妇高清做爰视频 | 日韩免费高清在线 | 久草网免费 | 亚洲精品黄| 顶级bbw搡bbbb搡bbbb | 欧美视频18 | 久久国产免费 | 色综合久久天天 | 久草在线观看视频免费 | 激情久久婷婷 | 久久人人爽av | 国产精品一区二区久久国产 | 日韩午夜在线观看 | 色噜噜色噜噜 | 欧美日韩性视频 | 日韩精品一区不卡 | 亚洲精品免费在线观看视频 | 欧美一级片免费播放 | 久久久999精品视频 国产美女免费观看 | 日韩欧美91 | 免费v片 | 久久99偷拍视频 | 精品电影一区二区 | 99视频在线精品国自产拍免费观看 | 在线亚洲小视频 | 国产日韩精品一区二区三区在线 | 久久免费视频6 | 久久人人爽人人 | 久久在线免费视频 | 亚洲欧洲国产视频 | 欧美日韩精品影院 | 精品视频免费观看 | 国产高清视频在线 | 婷婷丁香色 | sesese图片| 亚洲美女在线国产 | 欧美日韩在线视频一区二区 | 国产码电影 | 91在线精品播放 | 久久经典国产视频 | 91xav | 日日干天天操 | 高清av中文在线字幕观看1 | av看片网址 | 欧美国产日韩一区二区三区 | 亚洲精品合集 | 国产精品久久久久久久久久久杏吧 | 三级性生活视频 | 久草精品资源 | 色噜噜狠狠狠狠色综合久不 | 午夜av网站 | 久久精品美女视频网站 | 在线观看国产中文字幕 | 91色视频 | 五月花丁香婷婷 | 国产黄网站在线观看 | 精品专区 | 五月激情丁香婷婷 | 综合色站| 免费一级片观看 | 午夜美女福利直播 | 91香蕉视频720p | 免费高清av在线看 | www.午夜色.com | 玖玖在线播放 | 精品特级毛片 | 在线观看av免费观看 | 婷婷激情在线 | 天天干天天色2020 | 狠狠色丁香婷婷综合欧美 | 国产盗摄精品一区二区 | 欧美色综合天天久久综合精品 | 99久久婷婷国产 | 国产美女视频网站 | 在线成人免费av | 久久婷婷国产色一区二区三区 | 免费在线观看日韩视频 | 在线观看的av | 国产三级香港三韩国三级 | 亚洲天堂在线观看完整版 | 91视频下载 | 欧美午夜理伦三级在线观看 | 精品国产一区二区三区免费 | 毛片网站在线看 | 三上悠亚一区二区在线观看 | 免费看黄色大全 | 91精品国产自产91精品 | 欧美视频一区二 | 国产区免费在线 | 欧美精品一区二区三区一线天视频 | 免费在线播放 | 亚洲三级国产 | 国产午夜影院 | 最新av观看 | 欧美一级黄色网 | 999国产精品视频 | 黄色a在线 | 999国产| 国产午夜精品一区二区三区四区 | 97精品超碰一区二区三区 | 九九久久国产精品 | 亚洲精品黄色在线观看 | 香蕉视频在线视频 | 91久久国产露脸精品国产闺蜜 | 免费看黄在线网站 | 久久久免费观看视频 | 国产美女视频免费 | 99色在线观看视频 | 五月天网页 | 天天操天天艹 | 亚洲成aⅴ人片久久青草影院 | 中文字幕超清在线免费 | 久久精品屋| 国产精品a级 | av在线播放中文字幕 | 在线国产观看 | 色婷婷狠狠五月综合天色拍 | 999在线视频 | 91亚洲精品久久久中文字幕 | 欧美日韩中 | 久久在草| 国产视频18| 欧美性超爽| 五月婷婷一区 | 日韩av一区二区在线播放 | 日本黄色黄网站 | 综合亚洲视频 | 精品国产免费av | 9999免费视频| 视频一区二区三区视频 | 久久视频这里只有精品 | 91精品国产成人观看 | 精品免费观看 | 在线v | 成人免费xxx在线观看 | 天天草天天草 | 99视频久久 | 亚洲国产成人久久综合 | 久久精选视频 | 成人网中文字幕 | 99这里只有精品视频 | 中文字幕在线观看第三页 | 国产福利在线免费 | 日韩va亚洲va欧美va久久 | 精品久久久999 | 亚洲国产日韩一区 | 99精品在线播放 | 国产一区二区三区免费在线观看 | 69夜色精品国产69乱 | 三级在线播放视频 | 中文字幕免费成人 | 在线观看www91 | 欧美精品一区二区在线观看 | 国产在线观看一区 | 91 中文字幕 | 国产精品久久久一区二区三区网站 | 99在线观看 | 久久精国产 | 国产一级三级 | 91在线播放视频 | 波多野结衣在线观看一区 | 制服丝袜天堂 | 午夜精品视频一区 | 国产品久精国精产拍 | 午夜精选视频 | 久久久久国产免费免费 | 999久久久精品视频 日韩高清www | 99视频这里只有 | 久久久午夜精品理论片中文字幕 | 色亚洲激情| 五月天激情综合 | 日韩精选在线 | 天天碰天天操 | 国产日韩一区在线 | 国产精品视频地址 | 久久手机免费观看 | 99视频一区| 在线观看免费91 | 午夜美女wwww | 亚洲电影影音先锋 | 美女视频网 | 深爱激情丁香 | 国产精品日韩高清 | 欧美精品九九 | 久久狠狠干 | 日韩一二三在线 | 激情五月五月婷婷 | 黄色影院在线免费观看 | 精品电影一区 | 在线播放视频一区 | 久久精品亚洲精品国产欧美 | 在线观看视频黄色 | 一区二区三区免费在线 | 久一网站 | 国产 亚洲 欧美 在线 | 伊人官网 | 免费一级片视频 | 久久久久一区 | 精品99视频 | 偷拍视频一区 | a久久久久久 | 国产成人精品女人久久久 | 337p日本大胆噜噜噜噜 | 国产视频一区在线免费观看 | 狠狠色伊人亚洲综合网站野外 | 欧美日韩国产一区二区三区 | 丁香综合激情 | 69av免费视频 | 久久理伦片 | 中文字幕亚洲综合久久五月天色无吗'' | 又爽又黄又无遮挡网站动态图 | 伊人资源视频在线 | 天天草天天干天天射 | 久久国产免费 | 国产精选在线观看 | 中文字幕传媒 | 欧美久久久久久久 | 国产视频观看 | 亚洲第二色 | 欧美日韩大片在线观看 | 中文字幕乱在线伦视频中文字幕乱码在线 | 高清不卡毛片 | 精品一区二区久久久久久久网站 | 六月丁香婷婷在线 | 成年人网站免费在线观看 | 国产区精品区 | 久久久午夜精品福利内容 | 国产亚洲免费的视频看 | 国产精品片 | 99精品视频播放 | 欧美性视频网站 | 亚州欧美视频 | 成人中文字幕+乱码+中文字幕 | 久在线| 三三级黄色片之日韩 | 三级av在线 | 97国产小视频 | 免费在线a| 美女天天操 | 在线黄色免费av | av中文字幕在线免费观看 | 三级a视频| 国产最新视频在线观看 | 极品久久久 | 日本中文字幕在线免费观看 | 综合激情网 | 午夜在线免费观看视频 | 在线视频 亚洲 | 亚洲国产成人在线观看 | 中文字幕第一页在线视频 | 亚洲一区欧美激情 | 色瓜 | www.色的 | 在线观看黄色 | 午夜精品久久久久久久久久久 | 韩国一区二区在线观看 | 日韩免费一区二区三区 | 色婷婷久久久综合中文字幕 | 亚洲激情 欧美激情 | 色视频在线免费 | 天天干天天摸天天操 | 国产精品久久久久高潮 | 日b黄色片| 成人黄色一级视频 | 天天干天天操 | 九九九九精品九九九九 | 亚洲精品a区 | 欧美精品在线一区二区 | 国产视频资源在线观看 | 成年人av在线播放 | 91免费国产在线观看 | 久久艹国产视频 | 91亚色在线观看 | zzijzzij日本成熟少妇 | 中文在线字幕免 | 在线免费av网 | 日韩av一区二区在线播放 | 激情五月六月婷婷 | 免费观看成人av | 色综合久久久网 | www色婷婷com| 久久久综合 | 国产一线二线三线性视频 | 日韩免费b | 成 人 a v天堂 | 99久久久国产精品免费99 | 国产精品毛片一区视频 | 狠狠干综合网 | 国产不卡在线观看 | 六月色婷婷 | 免费视频一区 | 国产麻豆果冻传媒在线观看 | 亚洲一区免费在线 | 在线播放 日韩专区 | 日本aaaa级毛片在线看 | 天堂va欧美va亚洲va老司机 | 五月天色网站 | 九色视频网 | 国产一级电影免费观看 | 久久这里只有精品首页 | 成人午夜精品福利免费 | 91视频a| 九九热只有精品 | 97超碰人人澡 | 久久99国产精品免费网站 | 一区二区中文字幕在线播放 | 久久久久成人精品亚洲国产 | 亚洲综合在线五月 | 国产精品久久久久久久久久不蜜月 | 五月婷婷在线视频观看 | 久久男女视频 | 亚洲在线资源 | 久草香蕉在线视频 | 欧美日韩xxxxx | 日韩毛片精品 | 中文字幕第一页在线播放 | 国产无区一区二区三麻豆 | 麻豆观看 | 日韩久久一区二区 | 国产精品激情在线观看 | 国产成人精品久久二区二区 | 啪啪动态视频 | 国产日韩视频在线观看 | 日韩av不卡播放 | 韩日视频在线 | 日韩欧三级 | 欧美黑人猛交 | 99精品在线免费在线观看 | 国产不卡片 | 999亚洲国产996395 | 三级视频国产 | 97成人在线视频 | 久久精品高清视频 | www国产精品com | 色香天天| 色综合久 | 国产精品久久久久久久久久尿 | 日日操操| 五月婷婷在线播放 | 亚洲精品18p | 人人爽人人干 | 久久电影国产免费久久电影 | 天天综合狠狠精品 | 奇米777777 | 久久免费精品一区二区三区 | 国产精品欧美久久久久三级 | 国产大片免费久久 | 久草影视在线 | 久久伊人国产精品 | 日韩精品不卡 | 91尤物在线播放 | 97精品欧美91久久久久久 | 婷婷国产精品 | 免费在线国产黄色 | 欧美日韩一区二区三区在线观看视频 | 亚洲狠狠丁香婷婷综合久久久 | 亚洲日韩中文字幕 | 久久成视频 | 国产精品免费久久 | av动态图片| 日日夜夜精品免费观看 | 色偷偷男人的天堂av | 久久夜夜爽 | 97精品久久| 国产在线探花 | 99精品久久久久久久 | 午夜视频在线观看一区 | 亚洲精品动漫成人3d无尽在线 | 五月天久久 | 精品亚洲免费 | 在线免费观看黄色 | 色香蕉视频 | 成人av片免费看 | 婷婷网站天天婷婷网站 | 97在线免费视频观看 | 91色在线观看视频 | 天天干,天天插 | 韩国av免费看 | 人人揉人人揉人人揉人人揉97 | 欧美日韩中文视频 | 日韩午夜电影网 | 又紧又大又爽精品一区二区 | 国产精品99在线观看 | 久久九九影视 | 亚洲美女免费精品视频在线观看 | 一区二区三区免费 | www五月天婷婷 | 色偷偷888欧美精品久久久 | 五月婷婷在线观看 | 免费成人结看片 | 国产精品久久9 | 亚洲最新在线 | 久久久久久久久久伊人 | 蜜臀久久99静品久久久久久 | 色吊丝av中文字幕 | 婷婷色中文 | 日韩久久久久久久久久久久 | 美女视频a美女大全免费下载蜜臀 | 久久久久久久久久久久久9999 | 97超碰资源站 | 日韩有色 | 91大神精品视频在线观看 | 久草免费在线观看 | 97色狠狠| 久久精品国产v日韩v亚洲 | 欧美另类交在线观看 | 日韩精品视频在线免费观看 | 97精品国产91久久久久久 | 天天操天天干天天综合网 | 最近中文字幕国语免费av | 亚洲精选在线观看 | 久久久不卡影院 | 91成人国产 | 天天操福利视频 | 欧美影院久久 | 玖玖在线播放 | 中文av在线播放 | 欧美日韩网站 | 最近中文字幕免费av | 国产一区二区精品久久 | 国产精品久久久久永久免费看 | 久久国产手机看片 | 欧美另类高清 videos | 国产不卡视频 | 91在线小视频 | 欧美日韩中文在线观看 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 成人av在线亚洲 | 又爽又黄又无遮挡网站动态图 | 伊人宗合| 美女视频免费一区二区 | 国产视频中文字幕 | 黄a网站| 天天天干天天射天天天操 | 这里只有精彩视频 | 特级西西www44高清大胆图片 | 天天综合中文 | 国产一区在线观看视频 | 亚洲专区欧美 | 国产精品久久久久久久久久直播 | 婷婷激情av | 免费国产在线视频 | 91自拍成人 | 久久国产精品二国产精品中国洋人 | 九九九九九国产 | 天天夜夜狠狠操 | 午夜12点 | 国产在线不卡一区 | 亚洲天堂网在线视频观看 | 99久久99久久精品 | 国产精品九九九九九九 | 亚洲经典视频在线观看 | 欧美三级高清 | 亚州日韩中文字幕 | 久久久资源 | 国产网站av | 亚洲黄色在线播放 | 成人免费网视频 | 在线免费观看的av | 美女网色| 日韩r级在线 | 九九视频一区 | 国内精品久久久久久久97牛牛 | 香蕉视频在线免费看 | 久久久久久久久久久影院 | 国产精品久久久久一区二区三区共 | 日日夜夜免费精品视频 | 国产精品一区二区麻豆 | 91av在线播放| 久久欧美在线电影 | 成人蜜桃 | 久久黄色影视 | 天天干天天射天天插 | 日日夜精品 | 色美女在线 | 日韩区欠美精品av视频 | 国产午夜不卡 | 亚洲精品免费在线观看视频 | 久久av一区二区三区亚洲 | 婷婷资源站 | 午夜精品在线看 | 国产成人一区二区三区影院在线 | 成人aaa毛片 | 色婷婷视频在线观看 | 亚洲欧美一区二区三区孕妇写真 | a爱爱视频 | 成人黄色在线视频 | 特级免费毛片 | 黄色国产在线观看 | av在线之家电影网站 | 射久久久| 久久在现视频 | www免费看片com | 国产97在线观看 | 久久网址 | 开心色婷婷 | 国产精品18p| 久久精品99北条麻妃 | 国产一区二区综合 | 一二区av| 99热国产在线观看 | 97国产精品免费 | 婷婷成人综合 | 欧美另类网站 | av 一区二区三区四区 | 中文字幕乱在线伦视频中文字幕乱码在线 | 免费看成人a | 99这里只有精品视频 | 91九色蝌蚪国产 | 偷拍久久久 | 看片网站黄 | 天天干.com | 欧美日韩在线视频一区 | 91免费网址 | 久草免费电影 | av成人黄色 | 国产美女视频网站 | 韩国精品一区二区三区六区色诱 | 日韩高清观看 | 91在线入口| 黄色三级视频片 | 免费在线观看成人av | 日韩一区二区三 | 欧美精品国产综合久久 | 成人教育av | 99亚洲精品在线 | 国产h片在线观看 | 免费视频一区 | 久久这里有 | 天天干夜夜夜 | 欧美精品中文字幕亚洲专区 | 9在线观看免费高清完整版在线观看明 | 蜜桃视频在线观看一区 | av网在线观看 | 久久激情婷婷 | 国产精品手机在线播放 | 天天干人人 | 黄色成年片 | 久久久久久久久久久网 | 久久精品专区 | 免费在线播放黄色 | 婷婷综合久久 | 久久亚洲人 | 91粉色视频| 在线观看91网站 | av一区二区三区在线播放 | 91亚洲综合 | 九九九在线观看视频 | 91在线一区 | 天天射天天拍 | 91麻豆精品国产91久久久无限制版 | 91麻豆精品国产自产在线游戏 | 欧美成人精品在线 | 午夜精品久久一牛影视 | 四虎最新入口 | 97精品国产97久久久久久 | 少妇做爰k8经典 | 91爱看片 | 天天干天天干天天射 | 97超碰人人干 | 成人在线免费观看视视频 | 国产精品涩涩屋www在线观看 | 欧美色图东方 | 超碰在线公开免费 | 99精品免费久久久久久久久日本 | 夜夜狠狠 | 国产在线观看 | 97天堂网 | 国产日韩欧美视频 | 国产精品美乳一区二区免费 | 色综合久久综合中文综合网 | 欧美三人交 | 人人爽久久涩噜噜噜网站 | 国产精品初高中精品久久 | 97在线视频免费看 | 中文字幕视频在线播放 | 成人免费观看视频网站 | 久久久久久久久久久久国产精品 | 久久综合色综合88 | 久久免费视频这里只有精品 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国内成人av| 日韩有码在线观看视频 | 97精品国产97久久久久久 | 午夜影院三级 | 成人黄在线 | 久久久久欠精品国产毛片国产毛生 | 日本中文字幕在线视频 | 免费a视频在线观看 | 在线免费黄色 | 亚洲无人区小视频 | 成年人三级网站 | 国产高清一区二区 | 不卡的av中文字幕 | 免费观看日韩 | 久久99亚洲网美利坚合众国 | 最新av电影网址 | 国产青春久久久国产毛片 | 成人动漫一区二区三区 | 极品中文字幕 | 99久热在线精品视频成人一区 | 久久亚洲影视 | 狠狠狠的干 | 久久国产精品久久精品国产演员表 | 99热最新精品 | 8x成人在线 | 欧美一级在线 | 亚洲国产美女久久久久 | 这里只有精品视频在线 | 天天操福利视频 | 亚洲三级精品 | 成人毛片在线视频 |