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

歡迎訪問 生活随笔!

生活随笔

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

python

python中的logger模块详细讲解

發布時間:2023/12/6 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的logger模块详细讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

logger 提供了應用程序可以直接使用的接口
handler將(logger創建的)日志記錄發送到合適的目的輸出
filter提供了細度設備來決定輸出哪條日志記錄
formatter決定日志記錄的最終輸出格式


logging模塊介紹

Python的logging模塊提供了通用的日志系統,熟練使用logging模塊可以方便開發者開發第三方模塊或者是自己的Python應用。同樣這個模塊提供不同的日志級別,并可以采用不同的方式記錄日志,比如文件,HTTP、GET/POST,SMTP,Socket等,甚至可以自己實現具體的日志記錄方式。下文我將主要介紹如何使用文件方式記錄log。

?

logging模塊包括logger,handler,filter,formatter這四個基本概念。

?

? ? logging模塊與log4j的機制是一樣的,只是具體的實現細節不同。模塊提供logger,handler,filter,formatter。

? ? ? ? logger:提供日志接口,供應用代碼使用。logger最長用的操作有兩類:配置和發送日志消息。可以通過logging.getLogger(name)獲取logger對象,如果不指定name則返回root對象,多次使用相同的name調用getLogger方法返回同一個logger對象。

? ? ? ? handler:將日志記錄(log record)發送到合適的目的地(destination),比如文件,socket等。一個logger對象可以通過addHandler方法添加0到多個handler,每個handler又可以定義不同日志級別,以實現日志分級過濾顯示。

? ? ? ? filter:提供一種優雅的方式決定一個日志記錄是否發送到handler。

? ? ? ? formatter:指定日志記錄輸出的具體格式。formatter的構造方法需要兩個參數:消息的格式字符串和日期字符串,這兩個參數都是可選的。

? ? ? ? 與log4j類似,logger,handler和日志消息的調用可以有具體的日志級別(Level),只有在日志消息的級別大于logger和handler的級別。

import?logging

logging.basicConfig(level=logging.DEBUG,
????????????????format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
????????????????datefmt='%a, %d %b %Y %H:%M:%S',
????????????????filename='myapp.log',
????????????????filemode='w')

#################################################################################################
#定義一個StreamHandler,將INFO級別或更高的日志信息打印到標準錯誤,并將其添加到當前的日志處理對象#
console?=?logging.StreamHandler()
console.setLevel(logging.INFO)
formatter?=?logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)
#################################################################################################

logging.debug('This is debug message')
logging.info('This is info message')
logging.warning('This is warning message')

?

屏幕上打印:
root????????: INFO?????This is info message
root????????: WARNING??This is warning message

./myapp.log文件中內容為:
Sun, 24 May 2009 21:48:54 demo2.py[line:11] DEBUG This is debug message
Sun, 24 May 2009 21:48:54 demo2.py[line:12] INFO This is info message
Sun, 24 May 2009 21:48:54 demo2.py[line:13] WARNING This is warning message

logging.StreamHandler: 日志輸出到流,可以是sys.stderr、sys.stdout或者文件
logging.FileHandler: 日志輸出到文件

日志回滾方式,實際使用時用RotatingFileHandler和TimedRotatingFileHandler
logging.handlers.BaseRotatingHandler
logging.handlers.RotatingFileHandler
logging.handlers.TimedRotatingFileHandler

logging.handlers.SocketHandler: 遠程輸出日志到TCP/IP sockets
logging.handlers.DatagramHandler:??遠程輸出日志到UDP sockets
logging.handlers.SMTPHandler:??遠程輸出日志到郵件地址
logging.handlers.SysLogHandler: 日志輸出到syslog
logging.handlers.NTEventLogHandler: 遠程輸出日志到Windows NT/2000/XP的事件日志
logging.handlers.MemoryHandler: 日志輸出到內存中的制定buffer
logging.handlers.HTTPHandler: 通過"GET"或"POST"遠程輸出到HTTP服務器

?

?

import logging import sys# 獲取logger實例,如果參數為空則返回root logger logger = logging.getLogger("AppName")# 指定logger輸出格式 formatter = logging.Formatter('%(asctime)s %(levelname)-8s: %(message)s') # 文件日志 file_handler = logging.FileHandler("test.log") file_handler.setFormatter(formatter) # 可以通過setFormatter指定輸出格式 # 控制臺日志 console_handler = logging.StreamHandler(sys.stdout) console_handler.formatter = formatter # 也可以直接給formatter賦值 # 為logger添加的日志處理器,可以自定義日志處理器讓其輸出到其他地方 logger.addHandler(file_handler) logger.addHandler(console_handler) # 指定日志的最低輸出級別,默認為WARN級別 logger.setLevel(logging.INFO) # 輸出不同級別的log logger.debug('this is debug info') logger.info('this is information') logger.warn('this is warning message') logger.error('this is error message') logger.fatal('this is fatal message, it is same as logger.critical') logger.critical('this is critical message') # 2016-10-08 21:59:19,493 INFO : this is information # 2016-10-08 21:59:19,493 WARNING : this is warning message # 2016-10-08 21:59:19,493 ERROR : this is error message # 2016-10-08 21:59:19,493 CRITICAL: this is fatal message, it is same as logger.critical # 2016-10-08 21:59:19,493 CRITICAL: this is critical message # 移除一些日志處理器 logger.removeHandler(file_handler)

?

python:logging模塊

10 DECEMBER 2015

概述

python的logging模塊(logging是線程安全的)給應用程序提供了標準的日志信息輸出接口。logging不僅支持把日志輸出到文件,還支持把日志輸出到TCP/UDP服務器,EMAIL服務器,HTTP服務器,UNIX的syslog系統等。在logging中主要有四個概念:logger、handler、filter和formatter,下面會分別介紹。


logger

Logger對象扮演了三重角色:

  • 它給應用程序暴漏了幾個方法,以便應用程序能在運行時記錄日志。
  • Logger對象根據日志的級別或根據Filter對象,來決定記錄哪些日志。
  • Logger對象負責把日志信息傳遞給相關的handler。

在Logger對象中,最常使用的方法分為兩類:configuration,message sending。? configuration方法包括:

  • setLevel(level)

    • setLevel(level)方法用來設置logger的日志級別,如果日志的級別低于setLevel(level)方法設置的值,那么logger不會處理它。logging模塊內建的日志級別有:

      • CRITICAL = 50
      • FATAL = CRITICAL
      • ERROR = 40
      • WARNING = 30
      • WARN = WARNING
      • INFO = 20
      • DEBUG = 10
      • NOTSET = 0? (數值越大級別越高)
  • addFilter(filter)
  • removeFilter(filter)
  • addHandler(handler)
  • removeHandler(handler)

message sending方法包括:

  • debug(log_message, [*args[, **kwargs]])?
    • 使用DEBUG級別,記錄log_message % args。為了記錄異常信息,需要將關鍵字參數exc_info設置為一個true值。? 比如:logger.debug("Houston, we have a %s", "thorny problem", exc_info=1)
  • info(log_message, [*args[, **kwargs]])
    • 使用INFO級別,記錄log_message % args。為了記錄異常信息,需要將關鍵字參數exc_info設置為一個true值。? 比如:logger.info("Houston, we have a %s", "interesting problem", exc_info=1)
  • warning(log_message, [*args[, **kwargs]])
    • 使用WARNING級別,記錄log_message % args。為了記錄異常信息,需要將關鍵字參數exc_info設置為一個true值。? 比如:logger.warning("Houston, we have a %s", "bit of a problem", exc_info=1)
  • error(log_message, [*args[, **kwargs]])
    • 使用Error級別,記錄log_message % args。為了記錄異常信息,需要將關鍵字參數exc_info設置為一個true值。? 比如:logger.error("Houston, we have a %s", "major problem", exc_info=1)
  • critical(log_message, [*args[, **kwargs]])
    • 使用CRITICAL級別,記錄log_message % args。為了記錄異常信息,需要將關鍵字參數exc_info設置為一個true值。? 比如:logger.critical("Houston, we have a %s", "major disaster", exc_info=1)
  • exception(message[, *args])?
    • self.error(*((msg,) + args), **{'exc_info': 1})
  • log(log_level, log_message, [*args[, **kwargs]])
    • 使用整型的級別level,記錄log_message % args。為了記錄異常信息,需要將關鍵字參數exc_info設置為一個true值。? 比如:logger.log(level, "We have a %s", "mysterious problem", exc_info=1)

logging.getLogger([name])方法返回一個Logger實例的引用,如果提供了name參數,那么它就是這個Logger實例的名稱,如果沒提供name參數,那么這個Logger實例的名稱是root。可以通過Logger實例的name屬性,來查看Logger實例的名稱。Logger實例的名稱是使用句號(.)分隔的多級結構。在這種命名方式中,后面的logger是前面的logger的子(父子logger只是簡單的通過命名來識別),比如:有一個名稱為foo的logger,那么諸如foo.bar、foo.bar.baz和foo.bam這樣的logger都是foo這個logger的子logger。子logger會自動繼承父logger的定義和配置。? 使用相同的名稱多次調用logging.getLogger([name])方法,會返回同一個logger對象的引用。這個規則不僅僅在同一個module有效,而且對在同一個Python解釋器進程的多個module也有效。因此應用程序可以在一個module中定義一個父logger,然后在其他module中繼承這個logger,而不必把所有的logger都配置一遍。


handler

handler實例負責把日志事件分發到具體的目的地。logger對象可以使用addHandler()方法,添加零個或多個handler對象到它自身。一個常見的場景是:應用程序可能希望把所有的日志都記錄到一個log文件,所有的ERROR及以上級別的日志都記錄到stdout,所有的CRITICAL級別的日志都發送到一個email地址。這個場景需要三個獨立的handler,每個handler負責把特定級別的日志發送到特定的地方。

下面是logging模塊內置的handler:

  • StreamHandler
  • FileHandler
  • RotatingFileHandler
  • TimedRotatingFileHandler
  • SocketHandler
  • DatagramHandler
  • SysLogHandler
  • NTEventLogHandler
  • SMTPHandler
  • MemoryHandler
  • HTTPHandler

內置的handler提供了下面的配置方法:

  • setLevel(level)?
    • handler對象的setLevel()方法,與logger對象的setLevel()方法一樣,也是用于設置一個日志級別,如果日志的級別低于setLevel()方法設置的值,那么handler不會處理它。
  • setFormatter(formatter)
  • addFilter(filter)
  • removeFilter(filter)

應用程序代碼不應該直接實例化和使用handler。logging.Handler是一個定義了所有的handler都應該實現的接口和建立了子類能夠使用(或重寫)的一些默認行為的基類。

自定義Handler? 自定義的handler必須繼承自logging.Handler,且實現下面的方法:

class Handler(Filterer): def emit(self, record):"""Do whatever it takes to actually log the specified logging record.This version is intended to be implemented by subclasses and soraises a NotImplementedError."""raise NotImplementedError, 'emit must be implemented '\'by Handler subclasses'def flush(self):"""Ensure all logging output has been flushed.This version does nothing and is intended to be implemented bysubclasses."""passdef close(self):""" Tidy up any resources used by the handler.This version does removes the handler from an internal listof handlers which is closed when shutdown() is called. Subclassesshould ensure that this gets called from overridden close()methods."""#get the module data lock, as we're updating a shared structure._acquireLock()try: #unlikely to raise an exception, but you never know...if self in _handlers:del _handlers[self]if self in _handlerList:_handlerList.remove(self)finally:_releaseLock()


其中,emit(record)方法負責執行真正地記錄日志所需的一切事情,在logging.Handler的子類中必須實現這個方法。close()方法負責清理handler所使用的資源(在Python解釋器退出的時候,會調用所有的handler的flush()和close()方法),logging.Handler的子類應該確保在重寫close()方法的時候,調用父類的該方法。

下面分析logging.StreamHandler的源代碼:

class StreamHandler(Handler): def __init__(self, strm=None):Handler.__init__(self)if strm is None:strm = sys.stderrself.stream = strmdef flush(self):if self.stream and hasattr(self.stream, "flush"):self.stream.flush()def emit(self, record):try:msg = self.format(record)stream = self.streamfs = "%s\n"if not hasattr(types, "UnicodeType"): #if no unicode support...stream.write(fs % msg)else:try:if (isinstance(msg, unicode) andgetattr(stream, 'encoding', None)):fs = fs.decode(stream.encoding)try:stream.write(fs % msg)except UnicodeEncodeError:#Printing to terminals sometimes fails. For example,#with an encoding of 'cp1251', the above write will#work if written to a stream opened or wrapped by#the codecs module, but fail when writing to a#terminal even when the codepage is set to cp1251.#An extra encoding step seems to be needed.stream.write((fs % msg).encode(stream.encoding))else:stream.write(fs % msg)except UnicodeError:stream.write(fs % msg.encode("UTF-8"))self.flush()except (KeyboardInterrupt, SystemExit):raiseexcept:self.handleError(record)


在構造函數中,如果提供了strm參數,那么它就是要輸出到的流,如果沒提供,那么就會將日志輸出到標準錯誤輸出流sys.stderr。?
flush()方法的作用是:刷新self.stream內部的I/O緩沖區。每次emit日志之后都會調用這個方法,將日志從I/O緩沖區sync到self.stream。?
emit(record)方法的作用是:將LogRecord對象(record)記錄到self.stream。emit(record)方法首先調用基類logging.Handler提供的format(record)方法,該方法會根據設置的Formatter對象來格式化record對象,得到要記錄的字符串msg。然后對fs(fs其實就是在msg的尾部增加一個換行'\n')進行一系列的編碼解碼,將它寫入到self.stream。最后再刷新self.stream。在emit(record)調用期間發生的異常,應該調用logging.Handler提供的handleError(record)方法來處理。


filter

Filter對象用于對LogRecord對象執行過濾,logger和handler都可以使用filter來過濾record。下面用一個列子來說明Filter基類的作用:

如果使用A.B實例化一個filter,那么它允許名稱為A.B,A.B.C,A.B.C.D這樣的logger記錄的日志通過,不允許名稱為A.BB,B.A.B這樣的logger記錄的日志通過。 如果使用空字符串實例化一個filter,那么它允許所有的事件通過。


Filter基類有一個方法叫filter(record),它用來決定指定的record(LogRecord對象)是否被記錄。如果該方法返回0,則不記錄record;返回非0則記錄record。

Filterer(注意:不是Filter)是logger和handler的基類。它提供了方法來添加和刪除filter,并且提供了filter(record)方法用于過濾record,該方法默認允許record被記錄,但是任何filter都可以否決這個默認行為,如果想要丟棄record,filter(record)方法應該返回0,否則應該返回非0。


formatter

Formatter對象用于把一個LogRecord對象轉換成文本,它定義了日志的格式、結構。與logging.Handler類不同,應用程序可以直接實例化Formatter類,如果需要也可以子類化Formatter,以便定制一些行為。?
Formatter的構造函數接受兩個參數:第一個參數是用于日志信息的格式化字符串;第二個參數是用于日期的格式化字符串。第二個參數可選的,默認值是%Y-%m-%d %H:%M:%S。?
日志信息的格式化字符串用%(<dictionary key>)s風格的字符串做替換。下面是替換字符串和它們所代表的含義:

  • %(name)s
    • logger的名稱
  • %(levelno)s
    • 日志級別的數字表現形式
  • %(levelname)s
    • 日志級別的文本表現形式
  • %(pathname)s
    • 調用logging的源文件的全路徑名
  • %(filename)s
    • pathname的文件名部分
  • %(module)s
    • 模塊名(filename的名稱部分)
  • %(lineno)d
    • 調用logging的行號
  • %(funcName)s
    • 函數名
  • %(created)f
    • LogRecord的創建時間(time.time()的返回值)
  • %(asctime)s
    • LogRecord的創建時間的文本表現形式
  • %(msecs)d
    • 創建時間的毫秒部分
  • %(relativeCreated)d?
    • LogRecord的創建時間,單位是毫秒。這個時間是相對logging模塊被加載的時間的(通常就是應用程序啟動的時間)。
  • %(thread)d
    • 線程ID
  • %(threadName)s
    • 線程名稱
  • %(process)d
    • 進程ID
  • %(message)s
    • record.getMessage()的返回結果。

配置logging

下面是一個簡單的例子,它會向標準輸出打印日志:

import logging import sys logger = logging.getLogger(__name__) filter = logging.Filter(__name__) formatter = logging.Formatter("%(asctime)s|%(name)-12s|%(message)s", "%F %T")stream_handler = logging.StreamHandler(sys.stdout) stream_handler.addFilter(filter) stream_handler.setLevel(logging.DEBUG) stream_handler.setFormatter(formatter)logger.setLevel(logging.DEBUG) logger.addFilter(filter) logger.addHandler(stream_handler)if __name__ == "__main__": logger.info("info")


運行這個腳本,輸出結果是:

2015-12-16 13:52:17|__main__ |info

使用配置文件,配置logging?
下面是一個使用配置文件,配置logging的例子:

import logging import logging.configlogging.config.fileConfig("logging.conf")if __name__ == "__main__": logger = logging.getLogger("test_logging.sublogger")logger.info("info")


logging.conf如下:

[loggers] keys = root,logger[handlers] keys = stream_handler[formatters] keys = formatter[logger_root] handlers = stream_handler[logger_logger] handlers = stream_handler level = DEBUG propagate = 1 qualname = test_logging[handler_stream_handler] class = StreamHandler args = (sys.stdout,) formatter = formatter level = DEBUG[formatter_formatter] format = %(asctime)s|%(name)-12s|%(message)s datefmt = %F %T


需要解釋的地方有兩處:第一個是logger_xxxsection中的propagate選項,在logger對象把record傳遞給所有相關的handler的時候,會(逐級向上)尋找這個logger和它所有的父logger的全部handler。在尋找過程中,如果logger對象的propagate屬性被設置為1,那么就繼續向上尋找;如果某個logger的propagate屬性被設置為0,那么就會停止搜尋。
第二個是logger_xxxsection中的qualname選項,它其實就是logger的名稱。?
使用配置文件的時候,必須定義root?logger。

最酷的listen(port)函數?
logging.config.listen(port)函數可以讓應用程序在一個socket上監聽新的配置信息,達到在運行時改變配置,而不用重啟應用程序的目的。

監聽程序:

import logging.config import logging import timelogging.config.fileConfig("logging.conf") logger = logging.getLogger("test_logging.listen")t = logging.config.listen(9999) t.setDaemon(True) t.start()try: while True:logger.info('running.')time.sleep(3) except (KeyboardInterrupt, SystemExit, Exception): logging.config.stopListening()


發送新的配置信息程序:

import socket import structHOST = 'localhost' PORT = 9999 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((HOST, PORT)) print "connected..." data_to_send = open("logging.conf").read() s.send(struct.pack(">L", len(data_to_send))) s.send(data_to_send) print "closing..." s.close()

轉載于:https://www.cnblogs.com/fmgao-technology/p/9090901.html

總結

以上是生活随笔為你收集整理的python中的logger模块详细讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

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

最近中文字幕国语免费高清6 | 免费观看午夜视频 | 日本三级在线观看中文字 | 天天干天天操 | 激情www| 人人爽人人香蕉 | 国产女人免费看a级丨片 | 91亚洲激情 | 天天操天天操天天干 | 精品国产精品久久一区免费式 | 国产麻豆精品久久一二三 | av看片在线 | 久久另类小说 | 美女久久久久久久久久 | av资源免费在线观看 | 欧美日韩一区二区久久 | 欧美一级性生活视频 | 日韩r级在线| 婷婷国产一区二区三区 | 欧美日韩视频一区二区三区 | 福利视频第一页 | 激情婷婷在线观看 | 亚洲精品白浆高清久久久久久 | 免费a v观看 | 欧美极品少妇xbxb性爽爽视频 | 久久免费av | 精品黄色片 | 中文不卡视频 | 天天爽夜夜爽人人爽一区二区 | 亚洲精品综合一区二区 | 成人午夜电影网站 | 97精品国产97久久久久久粉红 | 亚洲成人精品在线观看 | 亚洲在线 | 视频在线国产 | 日韩经典一区二区三区 | 嫩小bbbb摸bbb摸bbb | 黄色大全免费网站 | 狠狠色综合网站久久久久久久 | 国产福利电影网址 | 久久视频这里有久久精品视频11 | 欧美国产高清 | 日韩高清不卡一区二区三区 | 久久九九久久精品 | 伊人影院在线观看 | 99超碰在线观看 | 人人澡人人添人人爽一区二区 | 国产真实精品久久二三区 | 丁香婷婷在线 | 中文字幕美女免费在线 | www.夜夜爽 | 在线免费av网站 | 日韩欧美在线视频一区二区 | 99欧美视频 | 91九色视频观看 | 六月丁香激情网 | 成年人电影免费在线观看 | 久久久香蕉视频 | 人人澡人人澡人人 | 中文字幕在线观看完整版 | 亚洲综合视频在线 | 久久精品亚洲 | 欧美性色综合网站 | 国产精品视频地址 | 亚洲综合干| 日日干网址 | 国产日韩精品视频 | 国产一级电影 | 国产精品久久久久一区二区三区 | 韩日精品在线 | 国产资源在线免费观看 | 一区二区三区日韩视频在线观看 | 青草视频在线播放 | 涩av在线 | 亚洲欧美综合精品久久成人 | 成人av动漫在线观看 | 国产r级在线观看 | 9幺看片 | 五月天狠狠操 | 精品在线观看视频 | 一区三区视频在线观看 | 国产亚洲精品久久19p | 欧美做受69 | 在线免费观看视频一区二区三区 | 欧美大片在线看免费观看 | 日韩网站免费观看 | 欧产日产国产69 | 黄色毛片电影 | 国产丝袜网站 | 日本aa在线 | 午夜精品一区二区三区免费 | 国产精品成人av电影 | 久久视频精品在线 | 91精品视频免费在线观看 | 91手机视频| 色婷婷国产精品一区在线观看 | 国产二区免费视频 | 国产精品 日韩精品 | 五月激情天| 91在线永久| 九九国产视频 | 国产精品毛片一区视频 | 国产一级免费片 | 天天亚洲 | 欧美另类网站 | 国产精品久久久久久超碰 | 国产精品日韩欧美一区二区 | 欧美日韩国产一区二区三区 | 国产精品久久久久久五月尺 | 天天干天天操人体 | 色多多视频在线 | 精品福利在线视频 | 干亚洲少妇| 国产精品免费视频网站 | 四虎成人精品永久免费av九九 | 色99导航| 日韩高清久久 | 亚洲一区二区三区miaa149 | 国产精品久久网 | www.91国产 | a午夜电影 | 欧美 高跟鞋交 xxxxhd | 精品国产中文字幕 | www.色五月.com| 亚洲精品九九 | 精品国产成人av | 国产精品久久久久久一区二区 | 国产精品毛片久久久久久 | 五月婷影院 | 久久久久一区二区三区四区 | 一区二区三区中文字幕在线观看 | 国内视频在线观看 | 亚洲欧美视屏 | 精品女同一区二区三区在线观看 | 国产黄av| 欧美精品在线免费 | 激情六月婷婷久久 | 一色屋精品视频在线观看 | 久久1区| 中文字幕人成不卡一区 | 制服丝袜一区二区 | 国产成人av在线影院 | 欧美色图另类 | a√天堂中文在线 | 久久精品站 | 久久男人中文字幕资源站 | 国产一性一爱一乱一交 | 国产99久久久国产 | 国产成人一区二区三区电影 | 91福利视频久久久久 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 久久 在线 | 一区二区精品在线观看 | av在线成人 | 色婷婷国产精品一区在线观看 | 国产精品黄色 | 国模吧一区 | 天天射天天操天天 | 日韩高清在线一区二区 | 色偷偷人人澡久久超碰69 | 国产亚洲久久 | 国产高清在线精品 | 亚洲精品国产麻豆 | 中文网丁香综合网 | 精品亚洲欧美无人区乱码 | 天天狠狠干 | 五月天婷亚洲天综合网鲁鲁鲁 | 亚洲视频专区在线 | 免费观看一级成人毛片 | 91资源在线 | 国产精品6999成人免费视频 | 西西人体4444www高清视频 | 久久免费99 | 久久这里有精品 | 男女日麻批| 免费一级日韩欧美性大片 | 在线观看中文字幕一区 | 亚洲 欧美 国产 va在线影院 | 久久国产精品久久精品国产演员表 | 欧美另类成人 | 不卡av免费在线观看 | 激情五月婷婷综合 | 四虎影视成人 | 欧美一级片免费播放 | 亚洲激情小视频 | 国产网站av| 欧洲精品一区二区 | www.av免费 | 久一久久 | 黄色片网站av | 国产又黄又硬又爽 | 18久久久| 久久久久综合网 | 91免费在线播放 | 久久乐九色婷婷综合色狠狠182 | 99综合电影在线视频 | 五月激情天 | 国产一级久久久 | 成人视屏免费看 | 成人app在线播放 | 天天躁日日躁狠狠躁av中文 | 久久综合五月天婷婷伊人 | 欧美韩日视频 | 98超碰在线观看 | 国产午夜三级一二三区 | 99久久久成人国产精品 | 国产精品久久久一区二区三区网站 | 天天摸天天舔 | 国产二区av| 五月天激情综合 | 国产美女精品人人做人人爽 | 麻豆成人精品视频 | 99热.com | 免费在线观看一区二区三区 | a天堂一码二码专区 | 97超碰超碰久久福利超碰 | 91精品欧美一区二区三区 | 日韩av网站在线播放 | 亚洲欧美偷拍另类 | 中文字幕在线有码 | 一区二区 久久 | 美女免费视频黄 | 国产成人一区二区三区 | 欧美一级特黄aaaaaa大片在线观看 | 婷婷激情欧美 | h动漫中文字幕 | 97超碰人人澡 | 国产在线观看,日本 | 国产精品第十页 | 中文字幕在线免费看 | 91精品国自产在线 | 亚洲综合色婷婷 | 中文字幕网站视频在线 | 天天操天天艹 | 色视频在线看 | 亚洲高清视频在线观看 | 深爱激情五月综合 | 成人毛片在线观看 | 天天爱天天射天天干天天 | 亚洲蜜桃在线 | 成人在线观看网址 | 国产系列精品av | 免费看黄20分钟 | 天堂av网址| 国产午夜免费视频 | 日韩高清www| 免费在线观看污网站 | 国产精品免费在线视频 | 免费av在线播放 | 99免费在线观看视频 | 97人人模人人爽人人少妇 | 91精品国自产在线观看 | 欧美日韩在线视频观看 | 美女一区网站 | 午夜电影中文字幕 | 久久免费视频网 | 亚洲视频大全 | 国产精品久久久久久久久大全 | 日韩欧美国产激情在线播放 | 在线国产能看的 | 日日日日 | 黄色成人毛片 | 99久精品视频 | 黄色毛片网站在线观看 | 波多野结衣视频一区 | 久久在线视频精品 | 人人爽人人爽人人片av免 | 日韩美在线观看 | 黄色片视频免费 | 欧美午夜性 | 丝袜美腿av | 久久精品资源 | 久久激情小说 | 久久开心激情 | 97人人看| 欧美日韩精品免费观看 | 欧美性生活久久 | www.狠狠操.com | 日日干天天插 | 久久精品视频网 | 在线看一级片 | 中文字幕乱码亚洲精品一区 | 久久国产精品99久久久久 | 99热精品免费观看 | 亚洲成av人片在线观看 | 九九在线精品视频 | 黄色视屏在线免费观看 | 一区二区三区四区五区在线视频 | 欧美一级久久久 | 一区二区视频在线免费观看 | 免费热情视频 | 久久精品日本啪啪涩涩 | 成人免费在线观看电影 | 欧美在一区 | 最近免费中文字幕大全高清10 | 久久精品aaa| jizz18欧美18| 久久免费视频国产 | 欧美精品乱码久久久久久按摩 | 国产资源在线免费观看 | 成人亚洲网 | 综合网久久 | av资源免费观看 | 免费看一及片 | 国产小视频福利在线 | 99精品国产99久久久久久福利 | 日韩v在线 | 日本特黄特色aaa大片免费 | 亚洲激情视频在线 | 成人一区不卡 | 国产精品久久久久久久婷婷 | 久久网页 | 欧美精品中文字幕亚洲专区 | 在线天堂v | 日韩专区在线播放 | 久久久综合电影 | 国产精品久久久久久久久久久免费 | 国产免费一区二区三区网站免费 | 久久精品久久精品 | 亚洲综合在线播放 | 2021久久 | 久久亚洲免费视频 | 精品国产色 | 99在线精品视频 | av片中文字幕 | 亚洲婷婷在线 | 久久九九久久精品 | 色99导航 | 日韩高清一区 | av丝袜制服 | 国产美女免费看 | 欧美激情精品一区 | 五月天天在线 | 国产视频一区在线免费观看 | 国产精品永久在线 | 亚洲一区欧美精品 | 国内精品久久天天躁人人爽 | 99久久er热在这里只有精品66 | 国产伦理剧 | 97精品电影院 | 成人黄色大片 | 中文伊人| 国产成人一区二区在线观看 | 日本电影久久 | 久久久免费观看视频 | 中文亚洲欧美日韩 | 天天拍天天爽 | 国产一区二区三区免费观看视频 | 美女福利视频网 | 日韩在线一二三区 | 在线视频国产区 | 色综久久 | 久久99久久99精品免观看软件 | 能在线看的av | 91黄在线看| 午夜久久久影院 | 欧美色就是色 | 91女神的呻吟细腰翘臀美女 | 超碰97在线人人 | 亚洲人成精品久久久久 | 99精品视频一区 | 国产成人精品一区二三区 | 国内成人精品2018免费看 | 天天碰天天操视频 | 欧美不卡在线 | 国产黄色片免费 | www.eeuss影院av撸| www.夜色321.com | 日日干美女 | 91成熟丰满女人少妇 | 国产精品一区二区美女视频免费看 | 在线精品视频免费播放 | 天堂网中文在线 | 成人午夜av电影 | 国产黄色片在线 | 99久久精品国产一区二区三区 | 91视频这里只有精品 | 日韩电影中文 | 免费在线a| 日韩精品一区二区不卡 | 国产原创在线 | 国产精品国产三级国产aⅴ无密码 | 国产精品久久久99 | 综合国产在线观看 | 免费看污黄网站 | 日p在线观看 | 亚洲人人av | av电影一区二区三区 | 久久不卡日韩美女 | 国产一级二级av | 国产视频一区在线免费观看 | 婷婷婷国产在线视频 | 99久久精品免费看国产麻豆 | 欧美在线视频精品 | 黄色网址在线播放 | 超碰人人在线观看 | 国产免费又粗又猛又爽 | 91精品啪啪 | 久久视屏网 | 精品国偷自产在线 | 国产精品高清免费在线观看 | 日韩在线免费不卡 | 一区二区网 | 黄色三级在线看 | 99成人在线视频 | 欧美综合色在线图区 | 欧美一区二区在线刺激视频 | 国产精品高清免费在线观看 | 美女网站在线免费观看 | 亚洲国产视频直播 | 激情久久五月 | 九草视频在线观看 | 在线视频免费观看 | 日韩首页 | 91视频免费看网站 | 亚洲狠狠丁香婷婷综合久久久 | 欧美一级电影 | 国产又粗又猛又黄 | 超级碰碰碰免费视频 | 国产高清免费视频 | 亚洲黄色片在线 | 中文字幕av在线免费 | 日韩av电影手机在线观看 | av福利电影 | 黄免费在线观看 | 亚洲免费婷婷 | 精品你懂的 | 免费男女羞羞的视频网站中文字幕 | 免费合欢视频成人app | 菠萝菠萝在线精品视频 | 51久久成人国产精品麻豆 | 成人av在线网 | 欧美激情在线网站 | 日韩电影在线视频 | 国产精品九九视频 | 国产精品一区二区av | 久久综合久久久 | 五月婷在线 | 成人久久久久久久久久 | 怡红院久久 | 色视频网站免费观看 | 最新av观看 | 欧美精品视| www国产一区 | 久久99精品波多结衣一区 | 中日韩欧美精彩视频 | 天天天干天天天操 | 成人av教育| 精品视频免费播放 | 中文字幕 国产专区 | 五月婷婷中文 | 色婷婷狠狠操 | 91精品视频免费看 | 欧美视频在线观看免费网址 | 国产精品18久久久久久久久 | 日本三级在线观看中文字 | 精品一区二区日韩 | 精品国产aⅴ一区二区三区 在线直播av | 天天摸天天舔天天操 | 免费h视频| 午夜视频在线观看一区二区三区 | 97人人澡人人添人人爽超碰 | 成人在线观看资源 | 国产高清在线看 | 久章草在线 | 午夜av在线播放 | 美女天天操 | 久久久免费精品 | 99精品网站 | 在线观看视频一区二区三区 | 丁香五月缴情综合网 | 午夜国产一区二区 | 日本性xxx | 999成人精品 | 免费看污在线观看 | 日韩av手机在线观看 | 五月婷激情 | 日韩免费在线视频 | 黄色在线观看免费 | 亚洲精品乱码久久久久 | 久久午夜国产精品 | 成人三级网站在线观看 | 国产免费黄视频在线观看 | 亚洲在线观看av | 久久夜色精品国产欧美乱极品 | 午夜影院日本 | 婷婷狠狠操 | 国产亚洲欧洲 | 国产福利一区二区三区在线观看 | 99高清视频有精品视频 | 天天射综合| 色婷婷视频在线观看 | 国产精品一区免费在线观看 | 日韩欧美高清在线观看 | www.超碰 | 日韩高清不卡一区二区三区 | 国产在线观看91 | 丝袜美女视频网站 | 国产一二三在线视频 | 成人毛片在线观看 | 麻豆影视在线免费观看 | 人人爱人人舔 | 天天操夜夜爱 | 久久一区二区三区国产精品 | 午夜精品一区二区三区在线播放 | 日韩av一区二区三区在线观看 | 天天草天天干 | 九九久久电影 | 久av在线 | 色综合久久久久久久 | 最新色站| 久久理论影院 | 亚洲人成人99网站 | 97视频总站| 国产精品久久综合 | 日韩av午夜 | 五月开心六月伊人色婷婷 | 午夜成人影视 | 免费合欢视频成人app | 国产成人精品av | 国产一二区视频 | 麻豆传媒视频在线 | 国产精品久久久久永久免费观看 | 在线观看免费黄色 | 色多多污污在线观看 | 亚洲精品免费播放 | 丁香激情综合 | 97成人在线观看视频 | 在线观看中文字幕网站 | 欧美成人理伦片 | www黄色大片 | 五月天丁香| 又长又大又黑又粗欧美 | 国产亚州精品视频 | 欧美超碰在线 | 激情偷乱人伦小说视频在线观看 | 久久久久久久国产精品 | avsex| 婷婷视频在线观看 | 日韩有码网站 | www.日本色| 国产午夜激情视频 | 免费在线观看av网址 | 亚洲区另类春色综合小说校园片 | 五月激情五月激情 | 四虎在线观看网址 | 97精品在线| 伊人国产在线播放 | 国产精品视频永久免费播放 | 婷婷色中文字幕 | 亚洲综合最新在线 | 一区二区中文字幕在线观看 | 一区二区三区四区五区在线 | 一区二区三区精品久久久 | aav在线 | 亚洲综合在线观看视频 | 免费亚洲电影 | 国产精品一级在线 | 蜜臀久久99精品久久久无需会员 | 五月天狠狠操 | 三级a视频 | www国产精品com | 精品国产大片 | 日韩在线视频免费观看 | 中文av日韩 | 国产日产精品一区二区三区四区的观看方式 | 婷婷色五 | 久久久久久不卡 | 亚州日韩中文字幕 | 欧美日韩视频在线观看免费 | a天堂在线看| 日韩在线视频国产 | 亚洲国产一区在线观看 | 国产中文字幕在线免费观看 | 免费在线观看黄 | 久久久福利视频 | 欧洲不卡av | 亚洲一区二区三区四区在线视频 | 国产一卡久久电影永久 | 激情视频一区 | 久久久久久综合网天天 | 激情影音先锋 | 激情久久婷婷 | 国产精品av久久久久久无 | 国产在线观看,日本 | 久久九九精品久久 | 99精品视频在线观看视频 | 国产精品久久久久久久久久久久午夜片 | 国产原厂视频在线观看 | 精品免费观看视频 | 天天色综合1 | 色黄视频免费观看 | 九九热视频在线免费观看 | 日本婷婷色 | 91视频高清免费 | 色综合天天干 | 国产精品久久久久久a | 久久婷五月 | 欧美极品在线播放 | 一级电影免费在线观看 | 激情深爱.com | 久草精品网 | 国产亚洲欧美精品久久久久久 | 日韩大片在线免费观看 | 中文字幕在线日亚洲9 | 国产精品专区h在线观看 | 视频在线在亚洲 | 中文在线8新资源库 | 91精品国产一区二区三区 | 亚洲乱码在线观看 | av综合站 | 日韩欧美在线影院 | 国产成人久久av免费高清密臂 | 天堂av免费在线 | 国产中文字幕视频在线 | 国产精品18久久久久久首页狼 | 亚洲精品在线资源 | 亚洲第一伊人 | 色婷婷福利 | www天天操 | 91专区在线观看 | 18做爰免费视频网站 | 97精品国产97久久久久久免费 | 日韩国产精品一区 | 中文字幕网站视频在线 | 成人午夜电影久久影院 | 成人动漫视频在线 | 日日夜夜噜噜噜 | 中文字幕一区三区 | av免费看看| 中文十次啦 | 亚洲激情视频在线观看 | 免费av视屏 | 免费黄色a级毛片 | 91精品国产一区二区在线观看 | 精品日本视频 | 成人污视频在线观看 | 夜夜躁狠狠躁日日躁 | 国产中的精品av小宝探花 | 国产精品美女久久久久久免费 | 国产91精品一区二区绿帽 | 国产一区二区三区网站 | 中文字幕高清视频 | 久久精品国产免费看久久精品 | 日韩免费电影一区二区三区 | 黄污污网站 | 久久成人精品电影 | 蜜臀久久99精品久久久酒店新书 | 成人免费看片网址 | 国产精品麻豆91 | 91在线看片 | 五月婷亚洲 | 日韩有码专区 | 精品一区二区免费 | 怡红院久久 | 久草免费在线视频 | 成人啊 v| 天天操夜夜叫 | 91chinesexxx | 久久久免费高清视频 | 女人18毛片90分钟 | 久久久99久久| 中文字幕乱码一区二区 | 久久久影院一区二区三区 | 久久久亚洲国产精品麻豆综合天堂 | 国产精品1区 | 美国av大片| 免费成人av | 国产剧情久久 | 五月天天色| 久久精品99久久久久久 | 91在线永久 | 99久久精品久久亚洲精品 | 国产精品 中文在线 | 国产一级片视频 | 日韩高清av在线 | 人人干人人爽 | 91精品久久久久久综合五月天 | 婷婷射五月 | 在线中文字幕播放 | 狠狠狠狠狠狠狠狠干 | 在线成人小视频 | 一区二区免费不卡在线 | 天天操天天射天天操 | 在线综合 亚洲 欧美在线视频 | 草在线| 国产手机在线精品 | 美女在线国产 | 日日干夜夜干 | 欧美激情视频三区 | 色综合久久久久综合体 | 国产在线毛片 | 亚洲精品视频在线观看免费视频 | 在线观看免费91 | 日韩一区二区三区视频在线 | 国产免费一区二区三区网站免费 | 成人国产精品 | 久久精品3 | 蜜臀久久99精品久久久久久网站 | 色天天 | 91精品国产麻豆 | 免费在线观看不卡av | 97精品超碰一区二区三区 | 日本黄色大片儿 | 欧美成人999| 激情图片qvod | 亚洲一区免费在线 | 一区二区男女 | 亚洲精品视频免费在线 | 国产精品久久久久久一二三四五 | 手机看片国产日韩 | av在线看片 | 精品视频99 | 人人天天夜夜 | 九九免费观看全部免费视频 | 国内精品视频在线播放 | 成年在线观看 | 很黄很黄的网站免费的 | 久草99| 婷婷干五月| 久影院 | 成 人 黄 色 视频播放1 | 国产.精品.日韩.另类.中文.在线.播放 | 偷拍视频一区 | 国产精品一区二区av日韩在线 | 91亚洲精| 欧美一区三区四区 | 黄色一级在线观看 | 国产成人黄色片 | 久久久久国产a免费观看rela | 你操综合 | 91精品区 | 99精品久久99久久久久 | 美女久久精品 | 精品国产精品久久一区免费式 | 欧美一二三视频 | 天天天综合 | 一区免费在线 | 亚洲国产欧洲综合997久久, | 久久久久久高潮国产精品视 | 欧美久久久久久久久久久 | 中文字幕免费在线看 | 91超级碰 | 国产粉嫩在线观看 | 久草精品在线播放 | 九九视频在线播放 | 蜜桃av综合网 | 国产精品一区二区三区四 | 成人a大片 | 国产在线播放一区 | 欧美日韩在线电影 | 国产成人一区三区 | 成人免费观看完整版电影 | 在线观看电影av | 久久久久久网址 | 日本精品一区二区三区在线观看 | 日韩欧美国产激情在线播放 | 久久久久| 99久久久国产精品免费99 | av亚洲产国偷v产偷v自拍小说 | 日韩精品久久中文字幕 | 韩日视频在线 | 成人午夜片av在线看 | 91精品国产91| 美女视频黄免费 | 97福利在线 | 欧美大片在线观看一区 | 亚洲视频 中文字幕 | 国产精美视频 | 欧美激情综合五月色丁香 | 色综合久久88 | 特级毛片网站 | 黄色a视频免费 | 欧美性久久久 | 午夜av在线 | 亚洲国产网站 | 亚洲自拍偷拍色图 | 亚洲免费a| 欧美日韩国产伦理 | 丁香久久激情 | 国产97碰免费视频 | 免费在线观看视频一区 | 91欧美精品 | 人人舔人人爱 | 久久第四色 | av电影不卡 | 日本久久中文 | 97国产在线观看 | 黄色成人毛片 | 亚洲欧美日韩一二三区 | 国产精品久免费的黄网站 | 精品国产一区二区三区噜噜噜 | 国产糖心vlog在线观看 | 日韩在线观看视频中文字幕 | 亚洲不卡av一区二区三区 | 成人午夜电影网 | 久久免费美女视频 | 精品视频免费观看 | av中文字幕网 | 亚洲精品国偷自产在线99热 | 国产免费区 | 丁香婷婷在线观看 | 成人久久18免费网站图片 | 亚洲二区精品 | 国产精品自产拍在线观看 | 欧美日韩另类视频 | 色婷婷狠狠五月综合天色拍 | 亚洲婷婷丁香 | 天天搞天天干 | ww亚洲ww亚在线观看 | 久久久99精品免费观看 | 91视频麻豆 | 在线免费黄 | 在线影视 一区 二区 三区 | 久久只精品99品免费久23小说 | 在线看国产精品 | 久久免费成人网 | 毛片区| 天天射,天天干 | 国产精品免费久久久久久久久久中文 | 最近中文字幕久久 | 久久这里只有精品视频99 | 亚洲精品在线视频网站 | 精品视频在线视频 | 五月婷婷丁香激情 | 日韩二区精品 | 在线韩国电影免费观影完整版 | 久草视频网| 久久久久久久久影视 | 黄色aa久久| 欧美成人xxxx | 97人人射| 欧美午夜精品久久久久久孕妇 | 日韩精品高清不卡 | 国产欧美在线一区 | 日韩夜夜爽 | 色综合天天干 | 国产又粗又猛又黄又爽 | 欧美日韩中文另类 | 99r在线播放 | 天天射日 | 亚洲日韩中文字幕在线播放 | 91精品国产99久久久久 | 色综合久久网 | 亚洲精品中文在线观看 | 成人aⅴ视频 | 免费三级a | 深夜男人影院 | 免费看一级| 草久久影院 | 国产精品久久一区二区三区不卡 | 日本免费久久高清视频 | 欧美日韩亚洲在线观看 | 中文字幕免费高清 | 日本xxxx裸体xxxx17 | 很黄很色很污的网站 | 亚洲国产欧美一区二区三区丁香婷 | 国精产品一二三线999 | 91av视频播放| 亚洲国产成人久久综合 | 国产黄在线观看 | 国产高清免费在线观看 | 欧美日韩精品影院 | 国产亚洲精品久久久久久无几年桃 | 免费观看午夜视频 | 天天天天爱天天躁 | 亚洲精品视频在线免费播放 | 天天激情综合网 | 欧美性色黄大片在线观看 | 91最新在线| 日日日视频 | 激情av在线资源 | 国产中文字幕大全 | 日韩一区二区三 | 久久免费视频精品 | 日韩理论片在线 | 欧美一区在线观看视频 | 久久99久 | 亚洲男男gaygayxxxgv| 91成人国产 | 亚洲精品在线免费看 | 亚洲欧美婷婷六月色综合 | 色一级片 | 日韩r级电影在线观看 | 亚洲国产成人久久综合 | 成人黄在线观看 | 成人中文字幕+乱码+中文字幕 | 婷婷激情在线 | 亚洲狠狠丁香婷婷综合久久久 | 中文在线免费一区三区 | 天堂av色婷婷一区二区三区 | 国产色啪 | 91丨精品丨蝌蚪丨白丝jk | 精品在线二区 | 国产乱对白刺激视频在线观看女王 | 国产黄色片一级 | 99热国产在线中文 | 四虎影视av| 免费在线a | 日韩r级在线 | 不卡的av在线播放 | 91视频91自拍 | www视频在线免费观看 | 国产精品久久久久国产精品日日 | 日韩小视频网站 | 婷婷激情站 | 免费看毛片网站 | 香蕉视频日本 | 99人久久精品视频最新地址 | 亚洲无人区小视频 | 中文字幕 国产 一区 | 免费中文字幕在线观看 | 一区二区视频欧美 | 18久久久久久 | 天天干夜夜想 | 亚洲视频分类 | 成人h动漫在线看 | 久久久久国产精品午夜一区 | 亚洲h在线播放在线观看h | a级免费观看 | 国产精品成人国产乱一区 | 五月婷婷中文 | 亚洲精品88欧美一区二区 | 欧美日韩视频在线观看免费 | 91中文字幕在线 | 99热999| 五月婷婷视频在线 | 亚洲精品天天 | 婷婷久月 | 日韩在线观看视频免费 | 韩日视频在线 | 一区免费视频 | 国产亚洲精品久久久久久大师 | www.亚洲黄| 激情五月亚洲 | 国产精品国产三级国产aⅴ无密码 | 国产精品成人久久久久 | 丁香在线视频 | 国产伦精品一区二区三区在线 | 一本一本久久aa综合精品 | 国产亚洲成av人片在线观看桃 | 国产69久久精品成人看 | 中文字幕日本特黄aa毛片 | 丁香六月av | 999成人| 国产伦理剧 | 亚洲午夜精品在线观看 | 久久精品电影 | 精品国产99国产精品 | 国产精彩在线视频 | 香蕉视频在线播放 | 99热在线观看| 亚洲在线视频免费观看 | 五月综合 | 日韩偷拍精品 | 黄色三级视频片 | 91精彩视频 | 一区中文字幕电影 | 国产精品v欧美精品 | 天堂资源在线观看视频 | 久草在线中文888 | 欧美韩国日本在线 | 在线播放av网址 | 国产精品日韩欧美一区二区 | 国产黄色片一级 | 免费男女羞羞的视频网站中文字幕 | 国产免费区 | 精品国产一二三 | 国产999精品久久久 免费a网站 | 日韩精品欧美专区 | av观看在线观看 | 激情视频国产 | 欧美日韩高清在线一区 | 91爱爱中文字幕 | 亚洲精品乱码久久久一二三 | 国产一区成人 | 夜夜爽88888免费视频4848 | 黄色a一级视频 | 99久久精品国产一区二区三区 | 国产97超碰 | 日韩免费电影一区二区三区 | 久草在线视频新 | 国产打女人屁股调教97 | 免费福利在线视频 | 天堂av最新网址 | a色视频| 国产精品一区免费在线观看 | 青草视频免费观看 | 免费一级片视频 | 国产一级片毛片 | 国产日产亚洲精华av | 免费麻豆视频 | 久久综合九色99 | 欧美日韩一级在线 | 91精品爽啪蜜夜国产在线播放 | 免费观看成人 | www.日本色 | 免费在线观看成人av |