亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? patternlayout.cs

?? 詳細講述了數據庫編程
?? CS
?? 第 1 頁 / 共 3 頁
字號:
#region Copyright & License
//
// Copyright 2001-2006 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#endregion

using System;
using System.Collections;
using System.IO;

using log4net.Core;
using log4net.Layout.Pattern;
using log4net.Util;

namespace log4net.Layout
{
	/// <summary>
	/// A flexible layout configurable with pattern string.
	/// </summary>
	/// <remarks>
	/// <para>
	/// The goal of this class is to <see cref="PatternLayout.Format"/> a 
	/// <see cref="LoggingEvent"/> as a string. The results
	/// depend on the <i>conversion pattern</i>.
	/// </para>
	/// <para>
	/// The conversion pattern is closely related to the conversion
	/// pattern of the printf function in C. A conversion pattern is
	/// composed of literal text and format control expressions called
	/// <i>conversion specifiers</i>.
	/// </para>
	/// <para>
	/// <i>You are free to insert any literal text within the conversion
	/// pattern.</i>
	/// </para>
	/// <para>
	/// Each conversion specifier starts with a percent sign (%) and is
	/// followed by optional <i>format modifiers</i> and a <i>conversion
	/// pattern name</i>. The conversion pattern name specifies the type of
	/// data, e.g. logger, level, date, thread name. The format
	/// modifiers control such things as field width, padding, left and
	/// right justification. The following is a simple example.
	/// </para>
	/// <para>
	/// Let the conversion pattern be <b>"%-5level [%thread]: %message%newline"</b> and assume
	/// that the log4net environment was set to use a PatternLayout. Then the
	/// statements
	/// </para>
	/// <code lang="C#">
	/// ILog log = LogManager.GetLogger(typeof(TestApp));
	/// log.Debug("Message 1");
	/// log.Warn("Message 2");   
	/// </code>
	/// <para>would yield the output</para>
	/// <code>
	/// DEBUG [main]: Message 1
	/// WARN  [main]: Message 2  
	/// </code>
	/// <para>
	/// Note that there is no explicit separator between text and
	/// conversion specifiers. The pattern parser knows when it has reached
	/// the end of a conversion specifier when it reads a conversion
	/// character. In the example above the conversion specifier
	/// <b>%-5level</b> means the level of the logging event should be left
	/// justified to a width of five characters.
	/// </para>
	/// <para>
	/// The recognized conversion pattern names are:
	/// </para>
	/// <list type="table">
	///     <listheader>
	///         <term>Conversion Pattern Name</term>
	///         <description>Effect</description>
	///     </listheader>
	///     <item>
	///         <term>a</term>
	///         <description>Equivalent to <b>appdomain</b></description>
	///     </item>
	///     <item>
	///         <term>appdomain</term>
	///         <description>
	///				Used to output the friendly name of the AppDomain where the 
	///				logging event was generated. 
	///         </description>
	///     </item>
	///     <item>
	///         <term>c</term>
	///         <description>Equivalent to <b>logger</b></description>
	///     </item>
	///     <item>
	///         <term>C</term>
	///         <description>Equivalent to <b>type</b></description>
	///     </item>
	///     <item>
	///         <term>class</term>
	///         <description>Equivalent to <b>type</b></description>
	///     </item>
	///     <item>
	///         <term>d</term>
	///         <description>Equivalent to <b>date</b></description>
	///     </item>
	///     <item>
	///			<term>date</term> 
	///			<description>
	/// 			<para>
	/// 			Used to output the date of the logging event in the local time zone. 
	/// 			To output the date in universal time use the <c>%utcdate</c> pattern.
	/// 			The date conversion 
	/// 			specifier may be followed by a <i>date format specifier</i> enclosed 
	/// 			between braces. For example, <b>%date{HH:mm:ss,fff}</b> or
	/// 			<b>%date{dd MMM yyyy HH:mm:ss,fff}</b>.  If no date format specifier is 
	/// 			given then ISO8601 format is
	/// 			assumed (<see cref="log4net.DateFormatter.Iso8601DateFormatter"/>).
	/// 			</para>
	/// 			<para>
	/// 			The date format specifier admits the same syntax as the
	/// 			time pattern string of the <see cref="DateTime.ToString(string)"/>.
	/// 			</para>
	/// 			<para>
	/// 			For better results it is recommended to use the log4net date
	/// 			formatters. These can be specified using one of the strings
	/// 			"ABSOLUTE", "DATE" and "ISO8601" for specifying 
	/// 			<see cref="log4net.DateFormatter.AbsoluteTimeDateFormatter"/>, 
	/// 			<see cref="log4net.DateFormatter.DateTimeDateFormatter"/> and respectively 
	/// 			<see cref="log4net.DateFormatter.Iso8601DateFormatter"/>. For example, 
	/// 			<b>%date{ISO8601}</b> or <b>%date{ABSOLUTE}</b>.
	/// 			</para>
	/// 			<para>
	/// 			These dedicated date formatters perform significantly
	/// 			better than <see cref="DateTime.ToString(string)"/>.
	/// 			</para>
	///			</description>
	///		</item>
	///		<item>
	///			<term>exception</term>
	///			<description>
	///				<para>
	///				Used to output the exception passed in with the log message.
	///				</para>
	///				<para>
	/// 			If an exception object is stored in the logging event
	/// 			it will be rendered into the pattern output with a
	/// 			trailing newline.
	/// 			If there is no exception then nothing will be output
	/// 			and no trailing newline will be appended.
	/// 			It is typical to put a newline before the exception
	/// 			and to have the exception as the last data in the pattern.
	///				</para>
	///			</description>
	///		</item>
	///     <item>
	///         <term>F</term>
	///         <description>Equivalent to <b>file</b></description>
	///     </item>
	///		<item>
	///			<term>file</term>
	///			<description>
	///				<para>
	///				Used to output the file name where the logging request was
	///				issued.
	///				</para>
	///				<para>
	///				<b>WARNING</b> Generating caller location information is
	///				extremely slow. Its use should be avoided unless execution speed
	///				is not an issue.
	///				</para>
	/// 			<para>
	/// 			See the note below on the availability of caller location information.
	/// 			</para>
	///			</description>
	///		</item>
	///		<item>
	///			<term>identity</term>
	///			<description>
	///				<para>
	///				Used to output the user name for the currently active user
	///				(Principal.Identity.Name).
	///				</para>
	///				<para>
	///				<b>WARNING</b> Generating caller information is
	///				extremely slow. Its use should be avoided unless execution speed
	///				is not an issue.
	///				</para>
	///			</description>
	///		</item>
	///     <item>
	///         <term>l</term>
	///         <description>Equivalent to <b>location</b></description>
	///     </item>
	///     <item>
	///         <term>L</term>
	///         <description>Equivalent to <b>line</b></description>
	///     </item>
	///		<item>
	///			<term>location</term>
	///			<description>
	/// 			<para>
	/// 			Used to output location information of the caller which generated
	/// 			the logging event.
	/// 			</para>
	/// 			<para>
	/// 			The location information depends on the CLI implementation but
	/// 			usually consists of the fully qualified name of the calling
	/// 			method followed by the callers source the file name and line
	/// 			number between parentheses.
	/// 			</para>
	/// 			<para>
	/// 			The location information can be very useful. However, its
	/// 			generation is <b>extremely</b> slow. Its use should be avoided
	/// 			unless execution speed is not an issue.
	/// 			</para>
	/// 			<para>
	/// 			See the note below on the availability of caller location information.
	/// 			</para>
	///			</description>
	///		</item>
	///		<item>
	///			<term>level</term>
	///			<description>
	/// 			<para>
	/// 			Used to output the level of the logging event.
	/// 			</para>
	///			</description>
	///		</item>
	///		<item>
	///			<term>line</term>
	///			<description>
	///				<para>
	///				Used to output the line number from where the logging request
	///				was issued.
	///				</para>
	///				<para>
	///				<b>WARNING</b> Generating caller location information is
	///				extremely slow. Its use should be avoided unless execution speed
	///				is not an issue.
	///				</para>
	/// 			<para>
	/// 			See the note below on the availability of caller location information.
	/// 			</para>
	///			</description>
	///		</item>
	///     <item>
	///         <term>logger</term>
	///         <description>
	///             <para>
	///				Used to output the logger of the logging event. The
	/// 			logger conversion specifier can be optionally followed by
	/// 			<i>precision specifier</i>, that is a decimal constant in
	/// 			brackets.
	///             </para>
	/// 			<para>
	/// 			If a precision specifier is given, then only the corresponding
	/// 			number of right most components of the logger name will be
	/// 			printed. By default the logger name is printed in full.
	/// 			</para>
	/// 			<para>
	/// 			For example, for the logger name "a.b.c" the pattern
	/// 			<b>%logger{2}</b> will output "b.c".
	/// 			</para>
	///         </description>
	///     </item>
	///     <item>
	///         <term>m</term>
	///         <description>Equivalent to <b>message</b></description>
	///     </item>
	///     <item>
	///         <term>M</term>
	///         <description>Equivalent to <b>method</b></description>
	///     </item>
	///		<item>
	///			<term>message</term>
	///			<description>
	/// 			<para>
	/// 			Used to output the application supplied message associated with 
	/// 			the logging event.
	/// 			</para>
	///			</description>
	///		</item>
	///		<item>
	///			<term>mdc</term>
	///			<description>
	/// 			<para>
	/// 			The MDC (old name for the ThreadContext.Properties) is now part of the
	/// 			combined event properties. This pattern is supported for compatibility
	/// 			but is equivalent to <b>property</b>.
	/// 			</para>
	///			</description>
	///		</item>
	///		<item>
	///			<term>method</term>
	///			<description>
	///				<para>
	///				Used to output the method name where the logging request was
	///				issued.
	///				</para>
	///				<para>
	///				<b>WARNING</b> Generating caller location information is
	///				extremely slow. Its use should be avoided unless execution speed
	///				is not an issue.
	///				</para>
	/// 			<para>
	/// 			See the note below on the availability of caller location information.
	/// 			</para>
	///			</description>
	///		</item>
	///     <item>
	///         <term>n</term>
	///         <description>Equivalent to <b>newline</b></description>
	///     </item>
	///		<item>
	///			<term>newline</term>
	///			<description>
	/// 			<para>
	/// 			Outputs the platform dependent line separator character or
	/// 			characters.
	/// 			</para>
	/// 			<para>
	/// 			This conversion pattern offers the same performance as using 
	/// 			non-portable line separator strings such as	"\n", or "\r\n". 
	/// 			Thus, it is the preferred way of specifying a line separator.
	/// 			</para> 
	///			</description>
	///		</item>
	///		<item>
	///			<term>ndc</term>
	///			<description>
	/// 			<para>
	/// 			Used to output the NDC (nested diagnostic context) associated
	/// 			with the thread that generated the logging event.
	/// 			</para>
	///			</description>
	///		</item>
	///     <item>
	///         <term>p</term>
	///         <description>Equivalent to <b>level</b></description>
	///     </item>
	///     <item>
	///         <term>P</term>
	///         <description>Equivalent to <b>property</b></description>
	///     </item>
	///     <item>
	///         <term>properties</term>
	///         <description>Equivalent to <b>property</b></description>
	///     </item>
	///		<item>
	///			<term>property</term>
	///			<description>
	/// 			<para>
	/// 			Used to output the an event specific property. The key to 
	/// 			lookup must be specified within braces and directly following the
	/// 			pattern specifier, e.g. <b>%property{user}</b> would include the value
	/// 			from the property that is keyed by the string 'user'. Each property value
	/// 			that is to be included in the log must be specified separately.
	/// 			Properties are added to events by loggers or appenders. By default 
	/// 			the <c>log4net:HostName</c> property is set to the name of machine on 
	/// 			which the event was originally logged.
	/// 			</para>
	/// 			<para>
	/// 			If no key is specified, e.g. <b>%property</b> then all the keys and their

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色图在线观看| 欧美亚洲日本一区| 水蜜桃久久夜色精品一区的特点| 国产欧美一区视频| 欧美电影免费观看高清完整版在线 | 欧美日韩综合在线| 欧美日韩在线播放三区| 欧美日韩不卡在线| 日韩你懂的电影在线观看| 91精品国产色综合久久不卡蜜臀 | 亚洲综合激情另类小说区| 亚洲午夜在线视频| 日韩精品欧美成人高清一区二区| 日本不卡中文字幕| 国产乱妇无码大片在线观看| 黄色成人免费在线| 成人少妇影院yyyy| 欧美日韩一区视频| 精品精品国产高清a毛片牛牛| 久久久精品tv| 中文字幕乱码一区二区免费| 亚洲欧洲日韩在线| 亚洲不卡在线观看| 狠狠色丁香九九婷婷综合五月| 国产超碰在线一区| 欧美性做爰猛烈叫床潮| 久久综合九色综合欧美就去吻| 亚洲欧美成人一区二区三区| 极品少妇一区二区三区精品视频 | 亚洲另类春色校园小说| 久久99日本精品| 欧美系列日韩一区| 国产精品另类一区| 久久精品国产一区二区| 91亚洲国产成人精品一区二区三| 精品免费99久久| 亚洲一区二区影院| 成a人片亚洲日本久久| 日韩精品一区国产麻豆| 一区二区三区蜜桃网| 成人免费视频一区二区| 精品国产一区二区亚洲人成毛片| 亚洲国产va精品久久久不卡综合| 国产91精品欧美| 精品国产免费一区二区三区四区 | 欧美三级电影精品| 亚洲欧洲无码一区二区三区| 激情六月婷婷综合| 日韩欧美国产一二三区| 亚洲国产一区二区在线播放| 99久久99久久久精品齐齐| 26uuu精品一区二区在线观看| 日本伊人色综合网| 欧美又粗又大又爽| 亚洲欧美日韩久久| 成人av免费在线播放| 久久久亚洲精品一区二区三区| 免费高清在线一区| 91精品国产91久久久久久最新毛片| 亚洲专区一二三| 色av综合在线| 亚洲日本青草视频在线怡红院| 成人免费视频一区| 国产精品色哟哟网站| 国产成人亚洲综合a∨婷婷图片| 日韩精品一区二区三区在线观看 | 91精品在线麻豆| 午夜精品在线视频一区| 欧美喷水一区二区| 午夜国产精品影院在线观看| 欧美亚洲国产一区在线观看网站| 一区二区三区日韩欧美| 在线视频欧美精品| 亚洲国产精品久久人人爱| 91福利国产精品| 亚洲综合一区二区精品导航| 91国偷自产一区二区三区成为亚洲经典| 中文字幕乱码久久午夜不卡| 不卡视频免费播放| 日韩一区欧美小说| 91久久精品一区二区二区| 一区二区三区在线不卡| 色狠狠桃花综合| 亚洲综合免费观看高清完整版| 欧美日韩中字一区| 免费成人av在线播放| 精品久久国产老人久久综合| 国内久久精品视频| 国产精品美女久久久久av爽李琼| av电影天堂一区二区在线| 亚洲视频图片小说| 欧美少妇一区二区| 欧美a级理论片| 国产日韩欧美精品电影三级在线| 国产成人免费高清| 亚洲精品免费在线观看| 欧美在线你懂的| 日本女人一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲| 懂色一区二区三区免费观看 | 欧美在线免费视屏| 久久精品国产久精国产爱| 久久久久久**毛片大全| 成人网页在线观看| 亚洲午夜久久久久久久久电影网 | 亚洲国产精品久久不卡毛片| 欧美一区二区三区日韩视频| 国产尤物一区二区| 亚洲视频免费在线观看| 91麻豆精品国产自产在线 | 日韩欧美一级二级三级久久久| 韩国av一区二区三区在线观看| 国产精品久久久久久久久免费丝袜| 在线观看国产91| 久久精品av麻豆的观看方式| 中文字幕一区二区三区在线不卡 | 日本中文字幕一区二区视频| 国产亚洲欧洲997久久综合| 91网页版在线| 青青草成人在线观看| 中文字幕二三区不卡| 欧美福利一区二区| 成人性生交大片免费看在线播放| 亚洲中国最大av网站| 久久九九99视频| 欧美亚洲一区三区| 国产成人一级电影| 午夜电影久久久| 中文字幕欧美日韩一区| 91精品国产综合久久婷婷香蕉 | 中日韩av电影| 337p亚洲精品色噜噜| 成人久久久精品乱码一区二区三区 | 成人做爰69片免费看网站| 亚洲国产日韩一区二区| 中国av一区二区三区| 日韩一级在线观看| 色综合网色综合| 国产精品性做久久久久久| 偷偷要91色婷婷| 国产精品不卡一区二区三区| 日韩免费高清视频| 欧美日韩一本到| 99久久久久久| 国产在线播放一区二区三区| 五月天激情综合| 亚洲免费观看高清完整| 国产欧美日韩卡一| 日韩三级电影网址| 欧美色电影在线| 91小视频在线| 国产91精品一区二区麻豆网站 | 国产欧美日韩精品a在线观看| 欧美精品九九99久久| 91麻豆文化传媒在线观看| 国产成人高清视频| 久久99精品国产.久久久久| 午夜精品123| 亚洲一区二区三区四区五区黄 | 欧美日韩成人综合在线一区二区| 97久久久精品综合88久久| 国产成人精品免费| 国产一区视频在线看| 麻豆成人免费电影| 午夜精品久久久久久久| 亚洲一区二区视频在线观看| 亚洲丝袜精品丝袜在线| 亚洲欧洲精品一区二区精品久久久 | 欧美日韩五月天| 欧美精品电影在线播放| 不卡视频一二三四| 大胆亚洲人体视频| 国产成人av电影免费在线观看| 国产一区二三区| 国内久久精品视频| 黄网站免费久久| 国产一区二区三区四区五区美女 | 欧美天天综合网| 91久久久免费一区二区| 一本大道久久a久久精二百| 91在线观看成人| 色综合久久天天| 欧美性高清videossexo| 欧美日韩精品一区二区三区| 欧美精品一级二级| 日韩一区二区电影在线| 日韩一区二区高清| 精品国免费一区二区三区| 久久这里都是精品| 中文字幕第一区| 亚洲欧美一区二区在线观看| 亚洲美女一区二区三区| 亚洲国产美国国产综合一区二区| 亚洲sss视频在线视频| 日韩中文字幕一区二区三区| 日韩成人伦理电影在线观看| 奇米777欧美一区二区| 国产精品综合网| 99久久伊人精品| 欧美日韩亚洲国产综合|