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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

我的log4net使用手册(转自 http://blog.csdn.net/lyjcn/archive/2009/08/11/4432833.aspx)

發布時間:2025/3/15 编程问答 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我的log4net使用手册(转自 http://blog.csdn.net/lyjcn/archive/2009/08/11/4432833.aspx) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. log4net簡介

log4net是.Net下一個非常優秀的開源日志記錄組件。log4net記錄日志的功能非常強大。它可以將日志分不同的等級,以不同的格式,輸出到不同的媒介。Java平臺下,它還有一個姐妹組件——log4j。

log4net的下載地址:http://logging.apache.org/log4net/download.html

2. log4net的組成

log4net主要由五部分組成,分別為Appenders、Filters、Layouts、Loggers和Object Renders。

2.1 Appenders

Appenders用來定義日志的輸出方式。它還可以通過配置Filters和Layout來實現日志的過濾和輸出格式。

它的輸出方式有:

AdoNetAppender 將日志記錄到數據庫中??梢圆捎肧QL和存儲過程兩種方式。
AnsiColorTerminalAppender 將日志高亮輸出到ANSI終端。
AspNetTraceAppender? 能用asp.net中Trace的方式查看記錄的日志。
BufferingForwardingAppender 在輸出到子Appenders之前先緩存日志事件。
ConsoleAppender 將日志輸出到應用程序控制臺。
EventLogAppender 將日志寫到Windows Event Log。
FileAppender 將日志輸出到文件。
ForwardingAppender 發送日志事件到子Appenders。
LocalSyslogAppender 將日志寫到local syslog service (僅用于UNIX環境下)。
MemoryAppender 將日志存到內存緩沖區。
NetSendAppender 將日志輸出到Windows Messenger service.這些日志信息將在用戶終端的對話框中顯示。
OutputDebugStringAppender 將日志輸出到Debuger,如果程序沒有Debuger,就輸出到系統Debuger。如果系統Debuger也不可用,將忽略消息。
RemoteSyslogAppender 通過UDP網絡協議將日志寫到Remote syslog service。
RemotingAppender 通過.NET Remoting將日志寫到遠程接收端。
RollingFileAppender 將日志以回滾文件的形式寫到文件中。
SmtpAppender 將日志寫到郵件中。
SmtpPickupDirAppender 將消息以文件的方式放入一個目錄中,像IIS SMTP agent這樣的SMTP代理就可以閱讀或發送它們。
TelnetAppender 客戶端通過Telnet來接受日志事件。
TraceAppender 將日志寫到.NET trace 系統。
UdpAppender 將日志以無連接UDP數據報的形式送到遠程宿主或用UdpClient的形式廣播。
2.2 Filters

使用過濾器可以過濾掉Appender輸出的內容。過濾器有以下幾種:

DenyAllFilter 阻止所有的日志事件被記錄
LevelMatchFilter 只有指定等級的日志事件才被記錄
LevelRangeFilter 日志等級在指定范圍內的事件才被記錄
LoggerMatchFilter Logger名稱匹配,才記錄
PropertyFilter 消息匹配指定的屬性值時才被記錄
StringMathFilter 消息匹配指定的字符串才被記錄
2.3 Layouts

Layout用于控制Appender的輸出格式,可以使線性的也可以使XML。一個Appender只能有一個Layout。

最常用的Layout應該是用戶自定義格式的PatternLayout,其次是SimpleLayout和ExceptionLayout。然后還有4個Layout,其中有兩個是輸出Xml的Layout,但是中文會有問題。

ExceptionLayout需要給Logger的方法傳入Exception對象作為參數才起作用,否則就什么也不輸出。輸出的時候會包含Message和Trace

最后說一下PatterLayout的格式化字符串:

Conversion Pattern Name Effect
a 等價于appdomain
appdomain 引發日志事件的應用程序域的友好名稱。(我在使用中一般是可執行文件的名字。)
c 等價于 logger
C 等價于 type
class 等價于 type
d 等價于 date
date 發生日志事件的本地時間。 使用 %utcdate 輸出UTC時間。date后面還可以跟一個日期格式,用大括號括起來。例如:%date{HH:mm:ss,fff}或者%date{dd MMM yyyy HH:mm:ss,fff}。如果date后面什么也不跟,將使用ISO8601 格式 。

日期格式和.Net中DateTime類的ToString方法中使用的格式是一樣。

另外log4net還有3個自己的格式Formatter。 它們是 "ABSOLUTE", "DATE"和"ISO8601"分別代表 AbsoluteTimeDateFormatter, DateTimeDateFormatter和Iso8601DateFormatter。例如: %date{ISO8601}或%date{ABSOLUTE}。

它們的性能要好于ToString。
?
exception 異常信息

日志事件中必須存了一個異常對象,如果日志事件不包含沒有異常對象,將什么也不輸出。異常輸出完畢后會跟一個換行。一般會在輸出異常前加一個換行,并將異常放在最后。
?
F 等價于 file
file 發生日志請求的源代碼文件的名字。

警告:只在調試的時候有效。調用本地信息會影響性能。
?
identity 當前活動用戶的名字(Principal.Identity.Name).

警告:會影響性能。(我測試的時候%identity返回都是空的。)
?
l 等價于 location
L 等價于 line
location 引發日志事件的方法(包括命名空間和類名),以及所在的源文件和行號。

警告:會影響性能。沒有pdb文件的話,只有方法名,沒有源文件名和行號。
?
level 日志事件等級
?
line 引發日志事件的行號

警告:會影響性能。
?
logger 記錄日志事件的Logger對象的名字。

可以使用精度說明符控制Logger的名字的輸出層級,默認輸出全名。

注意,精度符的控制是從右開始的。例如:logger 名為 "a.b.c", 輸出模型為 %logger{2} ,將輸出"b.c"。
?
m 等價于 message
M 等價于 method
message 由應用程序提供給日志事件的消息。
?
mdc MDC (舊為:ThreadContext.Properties) 現在是事件屬性的一部分。 保留它是為了兼容性,它等價于 property。
?
method 發生日志請求的方法名(只有方法名而已)。

警告:會影響性能。
?
n 等價于 newline
newline 換行符
?
ndc NDC (nested diagnostic context)
?
p 等價于 level
P 等價于 property
properties 等價于 property
property 輸出事件的特殊屬性。例如: %property{user} 輸出user屬性。屬性是由loggers或appenders添加到時間中的。 有一個默認的屬性"log4net:HostName"總是會有。

%property將輸出所以的屬性 。

(我除了知道可以用它獲得主機名外,還不知道怎么用。)

?
r 等價于 timestamp
t 等價于 thread
timestamp 從程序啟動到事件發生所經過的毫秒數。
?
thread 引發日志事件的線程,如果沒有線程名就使用線程號。
?
type 引發日志請求的類的全名。.

可以使用精度控制符。例如: 類名是 "log4net.Layout.PatternLayout", 格式模型是 %type{1} 將輸出"PatternLayout"。(也是從右開始的。)

警告:會影響性能。
?
u 等價于 identity
username 當前用戶的WindowsIdentity。(類似:HostName\Username)

警告:會影響性能。
?
utcdate 發生日志事件的UTC時間。后面還可以跟一個日期格式,用大括號括起來。例如:%utcdate{HH:mm:ss,fff}或者%utcdate{dd MMM yyyy HH:mm:ss,fff}。如果utcdate后面什么也不跟,將使用ISO8601 格式 。

日期格式和.Net中DateTime類的ToString方法中使用的格式是一樣。

另外log4net還有3個自己的格式Formatter。 它們是 "ABSOLUTE", "DATE"和"ISO8601"分別代表 AbsoluteTimeDateFormatter, DateTimeDateFormatter和Iso8601DateFormatter。例如: %date{ISO8601}或%date{ABSOLUTE}。

它們的性能要好于ToString。
?
w 等價于 username
x 等價于 ndc
X 等價于 mdc
% %%輸出一個百分號
?

關于調用本地信息(caller location information)的說明:

%type %file %line %method %location %class %C %F %L %l %M 都會調用本地信息。這樣做會影響性能。本地信息使用System.Diagnostics.StackTrace得到。.Net 1.0 不支持System.Diagnostics.StackTrace 類。

本地信息在調試模式下可以正常獲取,在非調試模式下可能獲取不到,或只能獲取一部分。(根據我的測試,其實是需要有一個程序數據庫(.pdb)文件。)

%property 這個東西中的屬性好像是要用代碼來設置(除了默認屬性log4net:HostName)。

轉義字符的修飾符:

Format modifier left justify minimum width maximum width comment
%20logger false 20 none 如果logger名不足20個字符,就在左邊補空格。
?
%-20logger true 20 none 如果logger名不足20個字符,就在右邊補空格。
?
%.30logger NA none 30 超過30個字符將截斷。
?
%20.30logger false 20 30 logger名要在20到30之間,少了在左邊補空格,多了截斷。
?
%-20.30logger true 20 30 logger名要在20到30之間,少了在右邊補空格,多了截斷。
?

2.4 Loggers

Logger是直接和應用程序交互的組件。Logger只是產生日志,然后由它引用的Appender記錄到指定的媒介,并由Layout控制輸出格式。

Logger提供了多種方式來記錄一個日志消息,也可以有多個Logger同時存在。每個實例化的Logger對象對被log4net作為命名實體(Named Entity)來維護。log4net使用繼承體系,也就是說假如存在兩個Logger,名字分別為a.b.c和a.b。那么a.b就是a.b.c的祖先。每個Logger都繼承了它祖先的屬性。

下面說一下日志的等級,它們由高到底分別為:

OFF > FATAL > ERROR > WARN > INFO > DEBUG? > ALL

其中OFF表示停用所以日志記錄,ALL表示所有日志都可以記錄。

Logger實現的ILog接口,ILog定義了5個方法(Debug,Inof,Warn,Error,Fatal)分別對不同的日志等級記錄日志。這5個方法還有5個重載。我們以Debug為例說明一下,其它的和它差不多。

ILog中對Debug方法的定義如下:

void Debug(object message);

void Debug(object message, Exception ex);

還有一個布爾屬性:

bool IsDebugEnabled { get; }

如果使用Debug(object message, Exception ex),則無論Layout中是否定義了%exception,默認配置下日志都會輸出Exception。包括Exception的Message和Trace。如果使用Debug(object message),則無論如何日志是不會輸出Exception的,因為沒有啊。

最后還要說一個LogManager類,它用來管理所應得Logger。它的GetLogger靜態方法,可以獲得配置文件中相應的Logger:

log4net.ILog log = log4net.LogManager.GetLogger("logger-name");

2.5 Object Renders

我對Object Renders的理解是這樣的。它將告訴logger如何把一個對象轉化為一個字符串記錄到日志里。(你可能注意到了,ILog中定義的接口接收的參數是Object,而不是String。)

例如你想把Orange對象記錄到日志中,但此時logger只會調用Orange默認的ToString方法而已。所以要定義一個OrangeRender類實現log4net.ObjectRender.IObjectRender接口,然后注冊它。這時logger就會知道如何把Orange記錄到日志中了。

不過我沒有測試過,具體怎么做還是看文檔吧。

2.6 Repository

Repository主要用于日志對象組織結構的維護。如果你不想自己擴展log4Net的話,可以用不找它。但我還是覺得應該提一下。

3.? 在程序中使用log4net

在使用log4net前要先做一些配置的工作。配置工作可以在配置文件中完成也可以再程序中用代碼完成。我們主要講在配置文件中如何配置log4net,因為這樣更方便靈活,而且還不用重新編譯代碼。至于如何使用代碼進行配置,請查看文檔和后面參考中的連接。

3.1 定義配置文件

log4net的配置可以放在應用程序的默認配置文件中(app.config或web.config),也可以再你自己的配置文件中。

如果用Visual Studio來編輯配置文件,它對log4net的標簽是不會智能提示和自動補全的。當然也不是不可能,看這里:

http://www.cnblogs.com/didasoft/archive/2007/07/23/log4net_xsd.html

這里要感謝Jerry同學,為我們提供的xsd schema。

廢話少說,先看一個完整的配置文件的例子:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

? <configSections>
??? <section name="log4net"
???????????? type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.2.10" />
? </configSections>

? <log4net>

??? <root>
????? <level value="WARN" />
????? <appender-ref ref="LogFileAppender" />
????? <appender-ref ref="ConsoleAppender" />
??? </root>

??? <logger name="testApp.Logging">
????? <level value="DEBUG"/>
??? </logger>

??? <appender name="LogFileAppender"
????????????? type="log4net.Appender.FileAppender" >
????? <param name="File" value="log-file.txt" />
????? <param name="AppendToFile" value="true" />

????? <layout type="log4net.Layout.PatternLayout">
??????? <param name="Header" value="[Header]&#13;&#10;"/>
??????? <param name="Footer" value="[Footer]&#13;&#10;"/>
??????? <param name="ConversionPattern"
?????????????? value="%d [%t] %-5p %c [%x]? - %m%n" />
????? </layout>

????? <filter type="log4net.Filter.LevelRangeFilter">
??????? <param name="LevelMin" value="DEBUG" />
??????? <param name="LevelMax" value="WARN" />
????? </filter>

??? </appender>

??? <appender name="ConsoleAppender"
????????????? type="log4net.Appender.ConsoleAppender" >
????? <layout type="log4net.Layout.PatternLayout">
??????? <param name="ConversionPattern"
?????????????? value="%d [%t] %-5p %c [%x] - %m%n" />
????? </layout>
??? </appender>

? </log4net>
</configuration>

如果log4net的配置不是放在應用程序的配置文件里,而是在自己定義的文件里,<configSection>節點里的<section>節點是不需要的。

下面對其中的標簽元素做一下說明。

3.1.1 <log4net>

所有的配置都要在<log4net>元素里定義。

支持的屬性:

debug 可選,取值是true或false,默認是false。設置為true,開啟log4net的內部調試。
update 可選,取值是Merge(合并)或Overwrite(覆蓋),默認值是Merge。設置為Overwrite,在提交配置的時候會重置已經配置過的庫。?
threshold 可選,取值是repository(庫)中注冊的level,默認值是ALL。
?


支持的子元素:

appender? 0或多個
logger 0或多個
renderer 0或多個
root 最多一個
param 0或多個


3.1.2 <root>

實際上就是一個根logger,所有其它logger都默認繼承它。root元素沒有屬性。

支持的子元素:
appender-ref 0個或多個,要引用的appender的名字。
level 最多一個。 只有在這個級別或之上的事件才會被記錄。
param 0個或多個, 設置一些參數。


3.1.3 <logger>

支持的屬性:
name 必須的,logger的名稱
additivity 可選,取值是true或false,默認值是true。設置為false時將阻止父logger中的appender。
支持的子元素:
appender-ref 0個或多個,要引用的appender的名字。
level 最多一個。 只有在這個級別或之上的事件才會被記錄。
param 0個或多個, 設置一些參數。


3.1.4 <appender>

定義日志的輸出方式,只能作為 log4net 的子元素。name屬性必須唯一,type屬性必須指定。

支持的屬性:
name 必須的,Appender對象的名稱
type 必須的,Appender對象的輸出類型
支持的子元素:
appender-ref 0個或多個,允許此appender引用其他appender,并不是所以appender類型都支持。
filter 0個或多個,定義此app使用的過濾器。
layout 最多一個。定義appender使用的輸出格式。
param 0個或多個, 設置Appender類中對應的屬性的值。


實際上<appender>所能包含的子元素遠不止上面4個。

3.1.5 <layout>

布局,只能作為<appender>的子元素。

支持的屬性:
type 必須的,Layout的類型
支持的子元素:
param 0個或多個, 設置一些參數。


3.1.6 <filter>

過濾器,只能作為<appender>的子元素。

支持的屬性:
type 必須的,Filter的類型
支持的子元素:
param 0個或多個, 設置一些參數。


3.1.7 <param>

<param>元素可以是如何元素的子元素。

支持的屬性:
name 必須的,取值是父對象的參數名。
value 可選的,value和type中,必須有一個屬性被指定。value是一個能被轉化為參數值的字符串。
type 可選的,value和type中,必須有一個屬性被指定。type是一個類型名,如果type不是在log4net程序集中定義的,就需要使用全名。
支持的子元素:
param 0個或多個, 設置一些參數。


3.2 使用配置文件

3.2.1 關聯配置文件

log4net默認關聯的是應用程序的配置文件(AppName.exe.config),可以使用程序集自定義屬性來進行設置。下面來介紹一下這個自定義屬性:log4net.Config.XmlConifguratorAttribute。

XmlConfiguratorAttribute有3個屬性:

ConfigFile 配置文件的名字,文件路徑相對于應用程序目錄(AppDomain.CurrentDomain.BaseDirectory)。ConfigFile屬性不能和ConfigFileExtension屬性一起使用。
ConfigFileExtension 配置文件的擴展名,文件路徑相對于應用程序的目錄。ConfigFileExtension屬性不能和ConfigFile屬性一起使用。
Watch 如果將Watch屬性設置為true,就會監視配置文件。當配置文件發生變化的時候,就會重新加載。
如果ConfigFile和ConfigFileExtension都沒有設置,則使用應用程序的配置文件(AppName.exe.config)。

舉例:

[assembly: log4net.config.XmlConfigurator(Watch=true)]??
//監視默認的配置文件,AppName.exe.config??
?
[assembly: log4net.config.XmlConfigurator(ConfigFileExtension="log4net",Watch=true)]??
//監視配置文件,AppName.exe.log4net??
?
[assembly: log4net.config.XmlConfigurator(ConfigFile="log4net.config")]??
//使用配置文件log4net.config,不監視改變。?
[assembly: log4net.config.XmlConfigurator(Watch=true)]
//監視默認的配置文件,AppName.exe.config

[assembly: log4net.config.XmlConfigurator(ConfigFileExtension="log4net",Watch=true)]
//監視配置文件,AppName.exe.log4net

[assembly: log4net.config.XmlConfigurator(ConfigFile="log4net.config")]
//使用配置文件log4net.config,不監視改變。

3.2.2 獲取日志對象

log4net.ILog logger = log4net.LogManager.GetLogger("LoggerName");

LogManager還有其他多個方法,比如檢查指定日志是否存在,返回所以日志對象等等。

特別的,如果日志名在配置文件中不存在,GetLogger方法會創建一個日志對象,它會繼承它的父類的屬性。例如"x.y.z"會繼承"x.y"的屬性,如果沒有"x.y"就繼承"x"的屬性,如果連"x"也沒有,會繼承root的屬性。

3.2.3 使用日志對象

獲取日志對象后,使用它是很簡單的,只要調用對應的Debug, Info等方法就可以了。不過有一件事要說一下,我們以Debug為例。

if (log.isDebugEnabled)? {log.Debug(...)}

文檔上是這么說的“如果Debug功能不被使用,就不會有參數構造上的開銷。但是,另一方面,如果logger的Debug功能被起用,就會有倆倍的開銷用于評估logger是否被起用:一次是判斷debugEnabled,一次是判斷debug是否被啟用。但這不是極重的負擔,因為評估logger的時間只有整個log語句執行時間的1%?!?/p>

也就是說Debug方法會先判斷Debug是否啟用,再記錄日志。使用isDebugEnabled,是否會帶來性能提升,是要看情況的。

3.3 一些配置的例子

配置文件的結構可以參照3.1節,這里只給出部分元素的使用實例。

3.3.1 <filter>

1) 日志等級過濾器

<filter type="log4net.Filter.LevelRangeFilter">
??? <param name="levelMin" value="WARN" />
??? <param name="levelMax" value="FATAL" />
</filter>

其中,日志等級WARN,FATAL必須大寫。

2) 字符串過濾器

<filter type="log4net.Filter.StringMatchFilter">
??? <param name="StringToMatch" value="Warn"/>
</filter>
<filter type="log4net.Filter.StringMatchFilter">
??? <param name="StringToMatch" value="Error"/>
??? <param name="AcceptOnMatch" value="true"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter" />

上面的例子,只輸出日志信息中包含字符串"Warn"或"Error"的才輸出。最后的DenyAllFilter會阻止所有的日志信息。

過濾器還有一個AcceptOnMatch屬性,默認為true,表示匹配的時候提交日志事件。設置成false的時候,不同類型的過濾器是不一樣的。StringMatchFilter會不提交日志事件,造成匹配的日志信息不被輸出。

StringMatchFilter還有一個RegexToMatch屬性,用來設置正則表達式。

3.3.2 <appender>

1) AdoNetAppender 將日志寫入到Sql Server數據庫

數據庫表的Create語句:

CREATE TABLE [dbo].[Log] (
??? [Id] [int] IDENTITY (1, 1) NOT NULL,
??? [Date] [datetime] NOT NULL,
??? [Thread] [varchar] (255) NOT NULL,
??? [Level] [varchar] (50) NOT NULL,
??? [Logger] [varchar] (255) NOT NULL,
??? [Message] [varchar] (4000) NOT NULL,
??? [Exception] [varchar] (2000) NULL
)

配置文件:

<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
??? <param name="bufferSize" value="100" />
??? <param name="connectionType" value="System.Data.SqlClient.SqlConnection" />
??? <param name="connectionString" value="data source=DatabaseServer;initial catalog=DatabaseName;integrated security=false;persist security info=True;User ID=user;Password=password" />
??? <param name="commandText" value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
??? <param name="parameter" type="log4net.Appender.AdoNetAppenderParameter">
??????? <param name="parameterName" value="@log_date" />
??????? <param name="dbType" value="DateTime" />
??????? <param name="layout" type="log4net.Layout.RawTimeStampLayout" />
??? </param>
??? <param name="parameter" type="log4net.Appender.AdoNetAppenderParameter">
??????? <param name="parameterName" value="@thread" />
??????? <param name="dbType" value="String" />
??????? <param name="size" value="255" />
??????? <param name="layout" type="log4net.Layout.PatternLayout">
??????????? <param name="conversionPattern" value="%thread" />
??????? </param>
??? </param>
??? <parameter>
??????? <parameterName value="@log_level" />
??????? <dbType value="String" />
??????? <size value="50" />
??????? <layout type="log4net.Layout.PatternLayout">
??????????? <conversionPattern value="%level" />
??????? </layout>
??? </parameter>
??? <parameter>
??????? <parameterName value="@logger" />
??????? <dbType value="String" />
??????? <size value="255" />
??????? <layout type="log4net.Layout.PatternLayout">
??????????? <conversionPattern value="%logger" />
??????? </layout>
??? </parameter>
??? <parameter>
??????? <parameterName value="@message" />
??????? <dbType value="String" />
??????? <size value="4000" />
??????? <layout type="log4net.Layout.PatternLayout">
??????????? <conversionPattern value="%message" />
??????? </layout>
??? </parameter>
??? <parameter>
??????? <parameterName value="@exception" />
??????? <dbType value="String" />
??????? <size value="2000" />
??????? <layout type="log4net.Layout.ExceptionLayout" />
??? </parameter>
</appender>

我經過測試,使用<param>元素,和<parameter>元素都可以,還可以混合使用。對于<parameter>等元素,log4net的文檔上并沒有說,但文檔的例子中卻在用。我個人感覺很多類屬性都可以做標簽用,并不限于文檔中說的那幾個。

上面只是Sql Server的配置,其他數據庫見文檔:http://logging.apache.org/log4net/release/config-examples.html

2) Console 輸出到控制臺

<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
??? <target value="Console.Error" />
??? <layout type="log4net.Layout.PatternLayout">
??????? <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
??? </layout>
</appender>

target默認是輸出到標準輸出流的(Console.out),這里輸出到標準錯誤輸出流(Console.Error)。

3) ColoredConsoleAppender 高亮輸出到控制臺

<appender name="ColoredConsole" type="log4net.Appender.ColoredConsoleAppender">
??? <mapping>
??????? <level value="ERROR" />
??????? <foreColor value="White" />
??????? <backColor value="Red, HighIntensity" />
??? </mapping>
??? <layout type="log4net.Layout.PatternLayout">
??????? <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
??? </layout>
</appender>

上例中,高于等于ERROR的日志都會用指定的前景色和背景色顯示。也可以有多個<mapping>

4) FileAppender 輸出到文件

<appender name="FileAppender" type="log4net.Appender.FileAppender">

??? <param name="File" value="${Tmp}\log.txt"
??? <param name="AppendToFile" value="false"/>
??? <param name="Encoding" value="GB2312" />
??? <param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
??? <layout type="log4net.Layout.PatternLayout">
??????? <param name="Header" type="log4net.Util.PatternString" value="[%date]%newline"/>
??????? <param name="Footer" value="--------------------------------------------------&#13;&#10;"/>
??????? <param name="ConversionPattern" value="logger: %.30logger Message:%message %newline"/>
??? </layout>
</appender>

上面是一個復雜的FileAppender,其實除了File屬性,其他的屬性都是可選的。這個屬性值可以使用系統的環境變量,上面就用到了系統的臨時文件夾${Tmp}。也可以像layout的Header屬性那樣使用轉義字符串,像這樣:

<param name="file" type="log4net.Util.PatternString" value="%date{HHmmss} - log.txt"/>

注意文件名要符合操作系統的命名規范。

layout的Footer屬性,因為沒有將type設置為PatternString,所以不能使用轉義字符串。所以要想換行就只有用xml實體了,&#13;&#10;表示換行回車\n\r。layout的Header和Footer在很多Appender中是沒有用的,比如ConsoleAppender和AdoAppender。

FileAppender的AppendToFile表示日志寫入文件的方式是追加還是覆蓋,默認是true,追加。Encoding用來設置文件編碼,不知道問什么我測試的時候,好像不起作用。lockingModel沒搞懂,大概是多進程操做同一個日志文件的時候用的吧。

5) RollingFileAppender 輸出到可滾動的文件

RollingFileAppender繼承自FileAppender,FileAppender的屬性,它都可以用。一個簡單的例子:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
??? <file value="log.txt" />
??? <appendToFile value="true" />
??? <rollingStyle value="Size" />
??? <maxSizeRollBackups value="10" />
??? <maximumFileSize value="100KB" />
??? <staticLogFileName value="true" />
??? <layout type="log4net.Layout.PatternLayout">
??????? <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
??? </layout>
</appender>

上例中,如果log.txt的文件大小超過100KB,就會把log.txt做備份,備份文件名為log.txt.1,log.txt.2……。但是備份文件的最大數是10個。


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/lyjcn/archive/2009/08/11/4432833.aspx

轉載于:https://www.cnblogs.com/30763402/archive/2010/06/25/1764971.html

總結

以上是生活随笔為你收集整理的我的log4net使用手册(转自 http://blog.csdn.net/lyjcn/archive/2009/08/11/4432833.aspx)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

丝袜美腿在线播放 | 999久久久免费视频 午夜国产在线观看 | 精品久久久久久久久久久久久久久久 | 亚洲国产小视频在线观看 | 婷婷综合久久 | 激情综合色综合久久 | 欧美与欧洲交xxxx免费观看 | 欧美精品久久人人躁人人爽 | 91精品国产欧美一区二区 | 国产精品99久久久 | 亚洲黄色大片 | 国内精品久久久久影院优 | 中文字幕av最新更新 | 亚洲精品自在在线观看 | 日韩在线视频网站 | 日韩有色| 91精品在线观看视频 | 中文av网站 | 国产v视频 | 亚洲成人黄色网址 | 麻豆av一区二区三区在线观看 | 成年人app网址 | 亚洲闷骚少妇在线观看网站 | 午夜精品久久久久久中宇69 | 亚洲在线a| 国内精品久久久久久久久 | 亚洲资源网 | 激情深爱 | 人人藻人人澡人人爽 | 日本福利视频在线 | 国产精品免费视频网站 | 91免费看黄色 | 国产亚洲va综合人人澡精品 | 国内毛片毛片 | 四虎影视av | 99热最新| 99草视频在线观看 | 成人免费网站视频 | 成人黄色小视频 | 日韩理论在线播放 | 久久在线免费观看视频 | 福利网在线 | 最近最新mv字幕免费观看 | 精品一区 精品二区 | 超碰97中文 | 国产福利一区二区三区在线观看 | 成人小电影在线看 | 四虎影视www | 久草在线在线精品观看 | 免费观看国产成人 | 欧美巨乳网 | 一区二区三区日韩在线观看 | 久久99精品视频 | 日韩免费一区二区在线观看 | 中文字幕在线看视频国产 | 97超级碰碰碰碰久久久久 | 国产成人一级电影 | 成人黄色片在线播放 | 怡红院久久 | www.精选视频.com | 中文字幕在线观看2018 | 99精品在线免费视频 | 久久国产精品免费一区二区三区 | 五月婷婷久久综合 | 国产免费一区二区三区网站免费 | 狠狠狠色丁香综合久久天下网 | 久久99精品久久只有精品 | 制服丝袜天堂 | 久久dvd| 日韩精选在线观看 | 成人免费在线观看电影 | 99国产视频在线 | 97视频在线观看网址 | 日韩电影在线观看一区二区三区 | 久久99视频免费观看 | 国产视频1区2区 | av高清免费 | 色婷婷综合成人av | av再线观看| 久久人视频 | 成人av片免费观看app下载 | 精品在线免费观看 | 美女一级毛片视频 | 91人人爽人人爽人人精88v | 成人免费看黄 | 国产一级免费观看 | 九九九九热精品免费视频点播观看 | 亚洲欧美国产精品18p | 日韩二区在线播放 | 男女靠逼app | 91精品国产一区二区在线观看 | 午夜三级影院 | 亚洲色五月 | 一区二区视频在线播放 | 99tvdz@gmail.com| 99视频精品免费视频 | 午夜精品一区二区三区在线 | 日韩电影一区二区三区 | 亚洲精品福利在线观看 | 中文字幕亚洲高清 | 狠狠色丁香婷婷综合最新地址 | 国内视频在线 | 四虎成人精品永久免费av九九 | 精品中文字幕视频 | 久久国产精品色婷婷 | av免费网站 | 999久久久免费精品国产 | 免费av片在线| 一区二区理论片 | 天天干天天草天天爽 | 国产精品18videosex性欧美 | 亚洲精品乱码久久久久久蜜桃动漫 | 日韩精品91偷拍在线观看 | 亚洲国产精品推荐 | 在线观看一区 | 激情电影在线观看 | 国产精品久久久久av免费 | 欧美日韩高清一区二区三区 | 欧美永久视频 | 欧美久久影院 | 日韩中文字幕免费看 | 欧美日韩一区二区免费在线观看 | 中文字幕在线免费看线人 | 337p日本大胆噜噜噜噜 | 午夜av免费在线观看 | 91精品在线免费视频 | 不卡视频在线看 | 天天躁日日躁狠狠躁 | 伊人va | 久久国产精品99精国产 | 久久 精品一区 | 色综合天天 | 亚洲视频久久 | 天天爱天天操天天爽 | 国产美女精品视频免费观看 | 精品二区视频 | 91资源在线免费观看 | 久久精品超碰 | 久久久久在线视频 | 欧美专区日韩专区 | 91九色视频在线观看 | 91精品国产91久久久久久三级 | 国产一区 在线播放 | 久久调教视频 | 日韩欧美99| 黄a网站 | 99在线播放| 999视频在线播放 | 免费观看mv大片高清 | 日日夜日日干 | 国产专区在线播放 | 深爱激情五月婷婷 | 四虎成人精品永久免费av九九 | 97成人精品 | 国产最新在线观看 | 精品国产乱码久久久久久1区2匹 | 国产黄色理论片 | 一区二区三区 中文字幕 | 丰满少妇一级片 | 成年人视频在线观看免费 | 亚洲乱亚洲乱妇 | 91人人视频在线观看 | 欧美孕交vivoestv另类 | 欧美精品中文 | 久草成人在线 | 成人一区二区三区在线观看 | 99精品免费久久久久久久久日本 | 久久人人爽 | 中文字幕在线观看网站 | 国产日韩欧美在线影视 | 99视频在线精品国自产拍免费观看 | 亚洲手机av | 免费av 在线 | 人人干天天干 | 日本中文字幕高清 | 91精品视频一区二区三区 | 91精品秘密在线观看 | 五月激情姐姐 | 五月天高清欧美mv | 五月婷婷免费 | 日韩亚洲精品电影 | 天天要夜夜操 | 黄a在线看| 91麻豆高清视频 | 久久国产精品免费 | 国产精品综合在线观看 | 99视频精品免费观看, | 国产五月天婷婷 | 国产99精品 | 国产亚洲精品久久19p | 国产精在线 | 亚洲国产小视频在线观看 | 九九精品无码 | 91九色蝌蚪在线 | 久久免费视频网 | 在线观看黄网 | 四虎免费在线观看视频 | 天堂视频中文在线 | 亚洲国产精品视频 | 亚洲久草视频 | 国产1区在线观看 | 在线观看小视频 | 超碰人人99 | 国产91成人 | 日本黄色免费看 | 亚洲精品国产综合99久久夜夜嗨 | 精品国产伦一区二区三区 | 四虎国产精品成人免费影视 | 欧美成人69av | 中文字幕亚洲在线观看 | 婷婷免费在线视频 | 超碰在线观看av.com | 成人av电影在线观看 | 天天草天天 | 97免费视频在线播放 | 在线精品观看国产 | 在线观看视频黄 | 黄色.com| 日韩,精品电影 | 精品国产欧美 | 成人亚洲免费 | 久久久久这里只有精品 | 亚洲欧洲精品一区二区 | 精品美女在线视频 | 在线观看资源 | 日韩69视频 | 亚洲视屏在线播放 | 91精品国产九九九久久久亚洲 | 天天狠狠 | 97精品视频在线播放 | 男女全黄一级一级高潮免费看 | 欧美一区二区精品在线 | 欧美在线观看视频一区二区三区 | 免费av网址在线观看 | 国产一卡二卡在线 | 日韩黄色免费看 | 在线免费黄网站 | 日韩成人免费在线电影 | 成人免费在线视频 | 97视频免费观看 | 草在线| 欧美一级片免费 | 精品国产视频在线观看 | 午夜丁香视频在线观看 | 天堂激情网 | 99久久久成人国产精品 | 深爱婷婷网 | 国产成人a v电影 | 国产精品电影在线 | 91黄色视屏| 成人理论在线观看 | 国产在线p | 人人舔人人干 | av性网站 | 精品99免费| 日韩精品一区二区三区免费视频观看 | 黄色软件在线看 | 久久在线视频在线 | 国产成人三级三级三级97 | 中文在线a在线 | 欧美成人xxx | 国产精品久久久久久久久久妇女 | 国产性天天综合网 | 51精品国自产在线 | 精品免费观看 | 中文字幕亚洲情99在线 | 婷婷五天天在线视频 | 99激情网| 成人精品电影 | 9在线观看免费高清完整版在线观看明 | 一区二区三区四区在线 | 国产精品久久久久一区二区三区共 | 久久噜噜少妇网站 | 久久黄色精品视频 | 蜜臀久久99静品久久久久久 | 色噜噜日韩精品欧美一区二区 | 香蕉视频在线网站 | 久久天天拍 | 欧美天天综合 | 久久亚洲福利视频 | 夜夜操网站 | 九色精品免费永久在线 | 久久精品理论 | 久久精品综合 | 国产精品91一区 | 免费视频97 | 国产精品美女视频网站 | 欧美韩国日本在线观看 | 超级av在线 | 激情 一区二区 | 欧美久久精品 | 三级黄色大片在线观看 | 日本九九视频 | 久久99这里只有精品 | 久久精品五月 | 一区三区视频在线观看 | 黄色软件在线观看 | av免费看av | 日韩xxx视频| 国产手机av| 国产欧美最新羞羞视频在线观看 | 久久久私人影院 | 国产一区二区手机在线观看 | 香蕉成人在线视频 | 亚洲尺码电影av久久 | av电影不卡 | 欧美日韩在线观看一区二区三区 | www.天天射 | 亚洲永久在线 | 国产一级黄 | 欧美黄色成人 | 国产精品成人自产拍在线观看 | 99视频在线观看一区三区 | 91久色蝌蚪 | 精品一区 在线 | 国产玖玖视频 | 韩日av在线 | 91在线资源 | 91久色蝌蚪| 久久精品视频免费 | 午夜久久久久 | 午夜国产一区二区三区四区 | 久久综合9988久久爱 | 精品国产亚洲一区二区麻豆 | 欧美精彩视频在线观看 | 国产又粗又硬又长又爽的视频 | 免费观看www视频 | 久草视频手机在线 | 亚洲在线观看av | 免费美女久久99 | 国产精品久久久久久久久久久久久久 | 国产精品久久久毛片 | 国产伦精品一区二区三区高清 | 中文字幕 婷婷 | 91麻豆网站| 欧美日本高清视频 | 一区二区三区中文字幕在线观看 | 亚洲欧美在线视频免费 | 国产中文字幕在线视频 | 黄色大片视频网站 | 国产精品96久久久久久吹潮 | 日韩激情综合 | 色久五月 | 97精品国产97久久久久久春色 | 欧美精品被 | 国产美女精品人人做人人爽 | 四虎成人免费观看 | 激情综合电影网 | av片免费播放 | 国产成人一区二区精品非洲 | 久久精品国产免费看久久精品 | 日韩高清不卡一区二区三区 | 成年人国产在线观看 | 国内一级片在线观看 | 成人av免费在线观看 | 日韩欧美精品一区 | 国产精品亚洲片夜色在线 | 免费在线观看黄色网 | 久久99这里只有精品 | 亚洲精品永久免费视频 | 日韩高清av| 人人添人人澡人人澡人人人爽 | 久热免费在线 | 亚洲国产欧美一区二区三区丁香婷 | 欧美性视频网站 | 粉嫩一区二区三区粉嫩91 | 91.精品高清在线观看 | 人人插超碰 | 手机在线看a | 天天干天天干天天干天天干天天干天天干 | 国产福利91精品一区二区三区 | 一区二区不卡在线观看 | 亚洲精品视频第一页 | 欧美精品久久久久久久久免 | 99国产视频 | 天天色天天干天天 | 久久精品激情 | 国产视频一区在线播放 | 国产亚洲精品久 | 五月婷婷综合激情 | 777视频在线观看 | 国产无套视频 | 992tv又爽又黄的免费视频 | 夜夜躁日日躁狠狠躁 | 国产精品99久久久久久有的能看 | 日韩动漫免费观看高清完整版在线观看 | 欧美国产日韩一区二区三区 | 日韩在线观看第一页 | 日日操日日 | 久久综合久久88 | 国产九色在线播放九色 | 天天射天天搞 | 又色又爽又黄高潮的免费视频 | 亚洲欧洲成人 | www亚洲视频 | 亚洲国产理论片 | a天堂最新版中文在线地址 久久99久久精品国产 | 蜜臀久久99精品久久久酒店新书 | 国产成人av一区二区三区在线观看 | 中文字幕精品视频 | av黄色大片 | 日韩一级片大全 | 国产99久久| 久久成人精品视频 | 日韩在线观看一区二区三区 | 欧美性色综合网 | 国产在线观看地址 | 青青久草在线视频 | 亚洲精品综合久久 | 97在线视频免费播放 | 91精品国产高清自在线观看 | 亚洲久草视频 | ww视频在线观看 | 国产精品一区二区免费视频 | 国产一区二区高清视频 | 一本一本久久a久久精品综合 | 日韩免费一区二区 | 亚洲 欧美日韩 国产 中文 | a资源在线 | 国产区免费 | 国产免费专区 | 久久免费视频7 | 欧美一区,二区 | 狠狠干电影 | 亚洲国产视频网站 | 狠狠狠狠狠狠狠狠 | 天堂av在线网址 | 91福利小视频 | 国产精品一区二区美女视频免费看 | 伊人天天| 欧美视频一区二 | 在线观看亚洲国产精品 | 精品国产一区二区三区蜜臀 | 中文字幕一二三区 | 国产一区二区三区在线免费观看 | 在线精品亚洲一区二区 | 欧美最猛性xxxxx(亚洲精品) | 美女久久久久 | 免费看片成年人 | 99热 精品在线 | 中文字幕在线国产精品 | 国产亚洲精品bv在线观看 | 91丨九色丨高潮 | 国产成人一区二区精品非洲 | 国产一二三四在线视频 | 91成人在线视频 | 99精品色 | 精品久久美女 | www.99久久.com| 九九精品无码 | 久久九九影视 | 亚洲专区免费观看 | 日韩一区在线播放 | 国产专区视频在线 | 色老板在线 | 福利片免费看 | www.xxxx变态.com| 欧美一区二区伦理片 | 国内精品视频一区二区三区八戒 | 国产视频在线观看一区二区 | 欧美日韩在线观看一区二区三区 | 欧美在线1区 | 欧美激情操 | 久热av | av中文字幕剧情 | av网址最新 | 黄色一及电影 | 日本三级中文字幕在线观看 | 超级碰碰碰免费视频 | 日韩在线字幕 | 国产精品久久久影视 | 亚洲免费在线视频 | 丁香花中文在线免费观看 | 国产午夜精品一区二区三区嫩草 | 久久久久久综合网天天 | 成人免费在线观看av | 精品中文字幕在线观看 | 美女精品在线观看 | 999久久久久久久久 69av视频在线观看 | 91久久精品一区二区三区 | 精品久久一二三区 | 色噜噜噜| 久久精品中文字幕免费mv | 日韩精品一区二区三区第95 | 天天操天天干天天操天天干 | 毛片无卡免费无播放器 | 免费观看不卡av | 日本资源中文字幕在线 | 一级黄色片在线 | 日日夜夜91 | 久久网站最新地址 | 天天综合天天做天天综合 | 国产91免费在线 | 樱空桃av | 日韩欧美网址 | 亚洲久草网 | 久久成人一区二区 | 欧美日韩精品网站 | 天堂av在线网 | 麻豆成人小视频 | 亚洲欧洲国产精品 | 国产一区二区三区网站 | 黄色福利网 | 国内视频一区二区 | 福利视频入口 | 中文字幕在线观看一区二区 | 久久久九色精品国产一区二区三区 | 色妞色视频一区二区三区四区 | 黄色一级片视频 | 国产剧在线观看片 | 天无日天天操天天干 | 中文字幕av影院 | 久久字幕网 | 亚洲 欧美 91| 久久在线电影 | 菠萝菠萝蜜在线播放 | 久久av观看 | 99精品视频网 | 天无日天天操天天干 | 中文字幕一区二区三区乱码在线 | 在线精品视频免费观看 | 欧美精选一区二区三区 | 最新中文字幕在线观看视频 | 国产成人精品日本亚洲999 | 国产一区二区不卡视频 | 久久国产精品一区二区三区四区 | 成人久久18免费网站图片 | 69亚洲视频 | 中文字幕欲求不满 | 亚洲成年人在线播放 | 日本最大色倩网站www | 国产资源精品在线观看 | 亚洲一级在线观看 | 色99久久| 特级西西人体444是什么意思 | 伊人av综合 | 久久久久亚洲精品 | v片在线播放 | 天天干天天干天天色 | 日韩在线观看中文字幕 | 欧美激情视频一区二区三区 | 青青河边草免费 | 国产亚洲一区二区三区 | 成人小电影在线看 | 岛国av在线| 免费观看成人网 | 国产一区二区不卡视频 | 久久久久国产精品视频 | 在线看国产日韩 | 97视频免费在线看 | 国产精品一区二区在线 | 黄色av电影网 | 久久影院精品 | 亚洲精品乱码久久久久v最新版 | 色综合天天天天做夜夜夜夜做 | 2018亚洲男人天堂 | 黄色免费高清视频 | 亚洲综合欧美激情 | 中文字幕有码在线播放 | 国产亚洲精品无 | 91精品视频在线播放 | 欧美成人a在线 | 丁香久久综合 | 在线观看日本韩国电影 | 久久欧美在线电影 | 九九热在线观看 | 在线观看日本高清mv视频 | 综合五月 | 成年人黄色av | 国产午夜精品福利视频 | 91精品视频播放 | 四川bbb搡bbb爽爽视频 | 永久免费的啪啪网站免费观看浪潮 | 精品一二区 | 一区二区三高清 | 久久视频免费在线观看 | 2021av在线| 国内视频 | 国产成人免费观看久久久 | 91成人在线网站 | 午夜精品一区二区三区在线视频 | 一本一道久久a久久综合蜜桃 | 五月婷激情 | av日韩不卡| 成年人在线观看免费视频 | 97国产在线观看 | 在线观看激情av | 色噜噜日韩精品一区二区三区视频 | 日本高清中文字幕有码在线 | 91新人在线观看 | 国产成人久久av | 免费人做人爱www的视 | 欧美在线视频一区二区三区 | 在线观看国产一区二区 | 狠狠色丁香婷婷综合久小说久 | 亚洲在线视频网站 | 精品久久久久久一区二区里番 | 91福利区一区二区三区 | 国产在线不卡精品 | 欧美怡红院视频 | 国产理论影院 | 国产乱老熟视频网88av | 91在线产啪 | 久久国产女人 | 在线观看小视频 | 国产美女被啪进深处喷白浆视频 | 免费观看久久 | 日韩欧美一区二区三区视频 | 91av播放 | 91完整版| 久久精品韩国 | 国产理伦在线 | 婷婷国产一区二区三区 | 91视频 - 114av | 国产又粗又硬又爽的视频 | 国产午夜精品一区二区三区四区 | 五月婷婷色丁香 | 最新av在线播放 | 免费网站黄 | 人人舔人人爽 | 成人免费视频播放 | 国产69久久 | 成年人视频在线免费播放 | 久久y| 亚洲精品视频二区 | 精品国产一区二区三区久久久蜜臀 | a视频在线观看 | 日韩大片免费在线观看 | 一区二区三区四区精品视频 | 九九热免费精品视频 | 久久99精品久久久久久 | 中文字幕在线国产精品 | 91精品国产网站 | 久久精品123| 日韩在线高清 | av中文字幕在线观看网站 | 国产精品国产三级国产专区53 | 国产精品亚洲片在线播放 | 国产精品av在线 | 日韩av免费在线电影 | 五月婷婷av在线 | 国产手机av| 天天干天天射天天爽 | 免费看片成人 | 黄色在线观看网站 | 91热| 人人干天天干 | 激情网综合 | 91福利在线导航 | 久久国产精品一二三区 | 日韩欧美在线综合网 | 色综合中文字幕 | av在线电影播放 | 福利网址在线观看 | 久久av不卡| 国产精品五月天 | 99在线热播 | 日韩欧美aaa| 久草在线资源观看 | 免费在线观看成人av | 久久久久女教师免费一区 | 色偷偷88888欧美精品久久 | 久久久精品久久 | 欧美亚洲成人xxx | 国产录像在线观看 | 狠狠婷婷| 91精品久久久久久久99蜜桃 | 99国产免费网址 | 日韩在线免费 | 国产 亚洲 欧美 在线 | 亚洲高清av在线 | 久久久久激情电影 | 一二区av| 国产精品久久99精品毛片三a | 精品 激情 | 在线激情小视频 | 最近更新好看的中文字幕 | 国产精品淫片 | 三级黄色在线 | 日韩免费b| 成人毛片在线观看 | 在线 精品 国产 | 久视频在线播放 | 天天爽天天摸 | 在线观看免费福利 | 婷五月天激情 | 国产专区精品视频 | 在线电影 你懂得 | 国产黄色片免费看 | 五月天天色 | 国产精品久久久久永久免费 | 国产黄a三级三级 | 国产黄色片久久 | 午夜日b视频 | 国产精品6| a视频免费看 | 久久免费av电影 | 欧美日韩高清国产 | 久久福利小视频 | 久久欧美视频 | 久久久久亚洲精品 | 成人高清在线观看 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产中文字幕在线 | 91精品播放 | 9色在线视频 | 国产五月婷婷 | 久久短视频 | av在线中文 | 亚洲视屏一区 | 国产一级高清 | 亚洲日b视频 | 国偷自产视频一区二区久 | 久久99久久99精品免费看小说 | 有码中文字幕在线观看 | 久草在线视频中文 | 久久99精品国产麻豆宅宅 | 伊人永久在线 | 久久久久高清毛片一级 | 狠狠色丁香久久婷婷综合丁香 | 日韩午夜三级 | 一级片视频免费观看 | 伊人国产在线播放 | 99性视频 | 国产中文字幕第一页 | 亚洲精品视频在线观看免费视频 | 日韩欧美在线观看一区 | 国产色a在线观看 | 久久视频国产精品免费视频在线 | 狠狠操.com | 日韩精品中文字幕久久臀 | 欧美精品亚洲精品 | 热久久电影 | 免费看三级 | 视频直播国产精品 | 免费高清在线观看电视网站 | 911久久香蕉国产线看观看 | japanesefreesexvideo高潮 | 免费中文字幕视频 | 亚洲国产高清在线观看视频 | 日韩专区视频 | 婷婷狠狠操 | wwxxxx日本 | 国产黄色片一级三级 | 亚洲欧洲成人 | 天天搞夜夜骑 | 亚洲人成人在线 | 国产精品久久久久久电影 | 日韩一区正在播放 | 免费福利片| 久久免费av | 久久黄色精品视频 | 婷婷六月网 | 久草91视频 | 亚洲综合爱| 国产在线色站 | 亚洲激情精品 | 婷婷亚洲综合 | 在线观看久久久久久 | 九九视频这里只有精品 | 久久爱资源网 | 黄色在线观看www | 精品99999| 国产精品xxxx18a99 | 国产成年免费视频 | 久草视频手机在线 | 久久精品7 | 天天天色 | av电影免费在线看 | 视频国产在线观看18 | 亚洲精品国产免费 | 亚洲精品视频免费观看 | 日韩欧美网址 | 日韩欧美一区二区三区免费观看 | 少妇bbb搡bbbb搡bbbb | 亚洲视频1区2区 | 免费在线黄 | 久久国产网 | 久久久亚洲影院 | 久久精品观看 | 国产精品99久久久精品免费观看 | 六月丁香激情综合色啪小说 | 久久99这里只有精品 | 毛片网在线观看 | 日韩美女av在线 | 亚洲一级影院 | av免费观看网址 | 久热超碰 | 最近2019中文免费高清视频观看www99 | 国产无套一区二区三区久久 | 国产一线二线三线在线观看 | 国产精品成人免费 | 亚洲欧美国产视频 | 丁香狠狠| www国产亚洲精品久久麻豆 | 91网页版免费观看 | 在线观看中文字幕av | 国产中文字幕视频在线观看 | 久久免费看视频 | 99久久www免费 | 成年人黄色大片在线 | 国产视频资源在线观看 | 久久国产午夜精品理论片最新版本 | 天天摸天天干天天操天天射 | 六月天综合网 | 亚洲国产视频直播 | 91精品国产乱码久久桃 | 黄色在线观看污 | 久久高清 | 色视频国产直接看 | 69av国产 | 中文字幕超清在线免费 | 国产精品中文字幕av | 欧美亚洲一区二区在线 | 亚洲视频免费在线观看 | av亚洲产国偷v产偷v自拍小说 | 国产在线视频一区二区三区 | 欧美激情另类文学 | 99久久久国产精品免费99 | 黄a网站 | 在线视频 影院 | 中文字幕av全部资源www中文字幕在线观看 | 久久久精品 一区二区三区 国产99视频在线观看 | 超碰97.com| 国产一区二区精品久久91 | free. 性欧美.com| 亚洲精品高清一区二区三区四区 | 日韩精品在线免费观看 | 91麻豆网| 性色va| 日韩免费观看视频 | 天天色天天上天天操 | 99久久日韩精品免费热麻豆美女 | 在线观看国产亚洲 | 国产精品手机在线观看 | 欧美性成人 | 99性视频 | 五月婷婷综合在线 | 国产少妇在线观看 | 91丨九色丨91啦蝌蚪老版 | 国产999免费视频 | 最新av电影网址 | 女人18片| 国产网站av | 国产精品自产拍在线观看蜜 | 久久国产电影院 | 久久久蜜桃 | av直接看 | 中文字幕精品在线 | 天天色天天色 | 婷婷色资源 | 天天操天天干天天操天天干 | 日韩一区二区三免费高清在线观看 | 99精品视频免费在线观看 | 99久久国产免费,99久久国产免费大片 | 免费看国产视频 | 韩国av免费在线 | 欧美日本在线视频 | 日韩v欧美v日本v亚洲v国产v | 天堂va欧美va亚洲va老司机 | 精品久久综合 | 国产伦精品一区二区三区四区视频 | 久久精品99国产精品亚洲最刺激 | 国产精品一区在线 | 最新真实国产在线视频 | 日韩www在线 | 天天干天天操av | 日日躁夜夜躁xxxxaaaa | 一级成人在线 | 久久国产精品久久国产精品 | 国产黄在线播放 | 青草视频免费观看 | 91尤物国产尤物福利在线播放 | 国产在线观看免费av | 婷婷丁香狠狠爱 | 久久久亚洲国产精品麻豆综合天堂 | 久久国产精品99精国产 | 免费网站黄 | 日日夜夜91 | 日韩免费在线看 | 国产日韩精品一区二区三区在线 | 国产看片网站 | 久99视频| 久久99精品久久只有精品 | 四虎影视成人永久免费观看视频 | 五月天久久狠狠 | 免费 在线 中文 日本 | 久久亚洲影视 | 在线观看mv的中文字幕网站 | 99久久久精品| 视频三区 | 免费v片 | 超碰在线人人97 | 香蕉视频网站在线观看 | 成人在线播放av | 高清一区二区三区av | 国产一区在线播放 | 97av在线 | 欧美一级欧美一级 | 欧美日韩高清不卡 | 国产伦理精品一区二区 | 国产中文视 | 久久久久久久久久久免费视频 | 久久无码精品一区二区三区 | 久久精品亚洲综合专区 | 亚洲黄色在线免费观看 | 久久1电影院 | 日韩精品网址 | 婷婷国产视频 | 成年人在线电影 | 草免费视频| 日本中文字幕在线播放 | 亚洲国产高清视频 | 中文字幕一区二区在线观看 | 亚洲理论在线观看 | 国产又粗又猛又色又黄网站 | 成人小视频在线播放 | 91av在线免费播放 | 欧美日韩亚洲在线观看 | 日本黄网站 | 亚洲精品456在线播放 | 在线视频a| 久久97久久97精品免视看 | 手机版av在线 | 成人av片在线观看 | 韩国av一区二区 | 中文字幕在线观看日本 | 亚洲观看黄色网 | 天天干天天拍天天操天天拍 | 午夜男人影院 | 岛国av在线免费 | 毛片黄色一级 | 在线观看你懂的网址 | 一色av | 国产免费午夜 | 亚洲欧洲久久久 | www.xxxx欧美 | 在线精品视频免费观看 | 中文字幕在线观看第三页 | 亚洲va在线va天堂va偷拍 | 国产一级大片免费看 | 精品黄色在线观看 | 在线欧美中文字幕 | 久久久久一区二区三区 | 在线 你懂 | 久久99免费 | 久久精品欧美一 | 欧美激情精品久久久久久免费印度 | 99久久99视频只有精品 | 欧美日韩不卡在线视频 | 中文字幕视频网站 | 六月色婷 | 成人av在线观 | 九九热re| 久久免费av | 激情久久伊人 | 国语自产偷拍精品视频偷 | 亚洲最大在线视频 | 在线免费观看视频一区 | 中文在线中文a | 天天搞天天干天天色 | 九九亚洲精品 | 国产精品久久久av久久久 | 国产精品美女久久久久久2018 | 麻豆久久精品 | 在线视频免费观看 | 丁香婷婷色综合亚洲电影 | 亚洲区视频在线观看 | 国产日韩精品在线 | 激情伊人五月天久久综合 | 亚洲电影图片小说 | 国产精品99久久久久人中文网介绍 | 国产精品一区二区在线观看免费 | 丁香婷婷社区 | 黄色一二级片 | 国产精品中文字幕在线 | 激情丁香月 | 国产在线无 | 国内视频在线观看 | 国产一区二区在线播放 | 国产视频中文字幕 | 国产福利91精品张津瑜 | 欧美在线久久 | 亚洲日本黄色 | 国产做爰视频 | 免费亚洲黄色 | 黄色一级免费 | 亚洲成人黄色在线观看 | 亚洲一区美女视频在线观看免费 | 国产成人性色生活片 | www.97视频| 久草资源在线观看 | 亚洲电影一区二区 | 中文字幕在线视频一区 | 国产精品一区二区久久精品爱涩 | 在线视频亚洲 | 热re99久久精品国产66热 | 亚洲一区美女视频在线观看免费 |