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

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

?? loglog.cs

?? 詳細講述了數據庫編程
?? CS
字號:
#region Copyright & License
//
// Copyright 2001-2005 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.Configuration;
using System.Diagnostics;

namespace log4net.Util
{
	/// <summary>
	/// Outputs log statements from within the log4net assembly.
	/// </summary>
	/// <remarks>
	/// <para>
	/// Log4net components cannot make log4net logging calls. However, it is
	/// sometimes useful for the user to learn about what log4net is
	/// doing.
	/// </para>
	/// <para>
	/// All log4net internal debug calls go to the standard output stream
	/// whereas internal error messages are sent to the standard error output 
	/// stream.
	/// </para>
	/// </remarks>
	/// <author>Nicko Cadell</author>
	/// <author>Gert Driesen</author>
	public sealed class LogLog
	{
		#region Private Instance Constructors

		/// <summary>
		/// Initializes a new instance of the <see cref="LogLog" /> class. 
		/// </summary>
		/// <remarks>
		/// <para>
		/// Uses a private access modifier to prevent instantiation of this class.
		/// </para>
		/// </remarks>
		private LogLog()
		{
		}

		#endregion Private Instance Constructors

		#region Static Constructor

		/// <summary>
		/// Static constructor that initializes logging by reading 
		/// settings from the application configuration file.
		/// </summary>
		/// <remarks>
		/// <para>
		/// The <c>log4net.Internal.Debug</c> application setting
		/// controls internal debugging. This setting should be set
		/// to <c>true</c> to enable debugging.
		/// </para>
		/// <para>
		/// The <c>log4net.Internal.Quiet</c> application setting
		/// suppresses all internal logging including error messages. 
		/// This setting should be set to <c>true</c> to enable message
		/// suppression.
		/// </para>
		/// </remarks>
		static LogLog()
		{
#if !NETCF
			try
			{
				InternalDebugging = OptionConverter.ToBoolean(SystemInfo.GetAppSetting("log4net.Internal.Debug"), false);
				QuietMode = OptionConverter.ToBoolean(SystemInfo.GetAppSetting("log4net.Internal.Quiet"), false);
			}
			catch(Exception ex)
			{
				// If an exception is thrown here then it looks like the config file does not
				// parse correctly.
				//
				// We will leave debug OFF and print an Error message
				Error("LogLog: Exception while reading ConfigurationSettings. Check your .config file is well formed XML.", ex);
			}
#endif
		}

		#endregion Static Constructor

		#region Public Static Properties

		/// <summary>
		/// Gets or sets a value indicating whether log4net internal logging
		/// is enabled or disabled.
		/// </summary>
		/// <value>
		/// <c>true</c> if log4net internal logging is enabled, otherwise 
		/// <c>false</c>.
		/// </value>
		/// <remarks>
		/// <para>
		/// When set to <c>true</c>, internal debug level logging will be 
		/// displayed.
		/// </para>
		/// <para>
		/// This value can be set by setting the application setting 
		/// <c>log4net.Internal.Debug</c> in the application configuration
		/// file.
		/// </para>
		/// <para>
		/// The default value is <c>false</c>, i.e. debugging is
		/// disabled.
		/// </para>
		/// </remarks>
		/// <example>
		/// <para>
		/// The following example enables internal debugging using the 
		/// application configuration file :
		/// </para>
		/// <code lang="XML" escaped="true">
		/// <configuration>
		///		<appSettings>
		///			<add key="log4net.Internal.Debug" value="true" />
		///		</appSettings>
		/// </configuration>
		/// </code>
		/// </example>
		public static bool InternalDebugging
		{
			get { return s_debugEnabled; }
			set { s_debugEnabled = value; }
		}

		/// <summary>
		/// Gets or sets a value indicating whether log4net should generate no output
		/// from internal logging, not even for errors. 
		/// </summary>
		/// <value>
		/// <c>true</c> if log4net should generate no output at all from internal 
		/// logging, otherwise <c>false</c>.
		/// </value>
		/// <remarks>
		/// <para>
		/// When set to <c>true</c> will cause internal logging at all levels to be 
		/// suppressed. This means that no warning or error reports will be logged. 
		/// This option overrides the <see cref="InternalDebugging"/> setting and 
		/// disables all debug also.
		/// </para>
		/// <para>This value can be set by setting the application setting
		/// <c>log4net.Internal.Quiet</c> in the application configuration file.
		/// </para>
		/// <para>
		/// The default value is <c>false</c>, i.e. internal logging is not
		/// disabled.
		/// </para>
		/// </remarks>
		/// <example>
		/// The following example disables internal logging using the 
		/// application configuration file :
		/// <code lang="XML" escaped="true">
		/// <configuration>
		///		<appSettings>
		///			<add key="log4net.Internal.Quiet" value="true" />
		///		</appSettings>
		/// </configuration>
		/// </code>
		/// </example>
		public static bool QuietMode
		{
			get { return s_quietMode; }
			set { s_quietMode = value; }
		}

		#endregion Public Static Properties

		#region Public Static Methods

		/// <summary>
		/// Test if LogLog.Debug is enabled for output.
		/// </summary>
		/// <value>
		/// <c>true</c> if Debug is enabled
		/// </value>
		/// <remarks>
		/// <para>
		/// Test if LogLog.Debug is enabled for output.
		/// </para>
		/// </remarks>
		public static bool IsDebugEnabled
		{
			get { return s_debugEnabled && !s_quietMode; }
		}

		/// <summary>
		/// Writes log4net internal debug messages to the 
		/// standard output stream.
		/// </summary>
		/// <param name="message">The message to log.</param>
		/// <remarks>
		/// <para>
		///	All internal debug messages are prepended with 
		///	the string "log4net: ".
		/// </para>
		/// </remarks>
		public static void Debug(string message) 
		{
			if (IsDebugEnabled) 
			{
				EmitOutLine(PREFIX + message);
			}
		}

		/// <summary>
		/// Writes log4net internal debug messages to the 
		/// standard output stream.
		/// </summary>
		/// <param name="message">The message to log.</param>
		/// <param name="exception">An exception to log.</param>
		/// <remarks>
		/// <para>
		///	All internal debug messages are prepended with 
		///	the string "log4net: ".
		/// </para>
		/// </remarks>
		public static void Debug(string message, Exception exception) 
		{
			if (IsDebugEnabled) 
			{
				EmitOutLine(PREFIX + message);
				if (exception != null)
				{
					EmitOutLine(exception.ToString());
				}
			}
		}
  
		/// <summary>
		/// Test if LogLog.Warn is enabled for output.
		/// </summary>
		/// <value>
		/// <c>true</c> if Warn is enabled
		/// </value>
		/// <remarks>
		/// <para>
		/// Test if LogLog.Warn is enabled for output.
		/// </para>
		/// </remarks>
		public static bool IsWarnEnabled
		{
			get { return !s_quietMode; }
		}

		/// <summary>
		/// Writes log4net internal warning messages to the 
		/// standard error stream.
		/// </summary>
		/// <param name="message">The message to log.</param>
		/// <remarks>
		/// <para>
		///	All internal warning messages are prepended with 
		///	the string "log4net:WARN ".
		/// </para>
		/// </remarks>
		public static void Warn(string message) 
		{
			if (IsWarnEnabled)
			{
				EmitErrorLine(WARN_PREFIX + message);
			}
		}  

		/// <summary>
		/// Writes log4net internal warning messages to the 
		/// standard error stream.
		/// </summary>
		/// <param name="message">The message to log.</param>
		/// <param name="exception">An exception to log.</param>
		/// <remarks>
		/// <para>
		///	All internal warning messages are prepended with 
		///	the string "log4net:WARN ".
		/// </para>
		/// </remarks>
		public static void Warn(string message, Exception exception) 
		{
			if (IsWarnEnabled)
			{
				EmitErrorLine(WARN_PREFIX + message);
				if (exception != null) 
				{
					EmitErrorLine(exception.ToString());
				}
			}
		} 

		/// <summary>
		/// Test if LogLog.Error is enabled for output.
		/// </summary>
		/// <value>
		/// <c>true</c> if Error is enabled
		/// </value>
		/// <remarks>
		/// <para>
		/// Test if LogLog.Error is enabled for output.
		/// </para>
		/// </remarks>
		public static bool IsErrorEnabled
		{
			get { return !s_quietMode; }
		}

		/// <summary>
		/// Writes log4net internal error messages to the 
		/// standard error stream.
		/// </summary>
		/// <param name="message">The message to log.</param>
		/// <remarks>
		/// <para>
		///	All internal error messages are prepended with 
		///	the string "log4net:ERROR ".
		/// </para>
		/// </remarks>
		public static void Error(string message) 
		{
			if (IsErrorEnabled)
			{
				EmitErrorLine(ERR_PREFIX + message);
			}
		}  

		/// <summary>
		/// Writes log4net internal error messages to the 
		/// standard error stream.
		/// </summary>
		/// <param name="message">The message to log.</param>
		/// <param name="exception">An exception to log.</param>
		/// <remarks>
		/// <para>
		///	All internal debug messages are prepended with 
		///	the string "log4net:ERROR ".
		/// </para>
		/// </remarks>
		public static void Error(string message, Exception exception) 
		{
			if (IsErrorEnabled)
			{
				EmitErrorLine(ERR_PREFIX + message);
				if (exception != null) 
				{
					EmitErrorLine(exception.ToString());
				}
			}
		}  

		#endregion Public Static Methods

		/// <summary>
		/// Writes output to the standard output stream.  
		/// </summary>
		/// <param name="message">The message to log.</param>
		/// <remarks>
		/// <para>
		/// Writes to both Console.Out and System.Diagnostics.Trace.
		/// Note that the System.Diagnostics.Trace is not supported
		/// on the Compact Framework.
		/// </para>
		/// <para>
		/// If the AppDomain is not configured with a config file then
		/// the call to System.Diagnostics.Trace may fail. This is only
		/// an issue if you are programmatically creating your own AppDomains.
		/// </para>
		/// </remarks>
		private static void EmitOutLine(string message)
		{
			try
			{
#if NETCF
				Console.WriteLine(message);
				//System.Diagnostics.Debug.WriteLine(message);
#else
				Console.Out.WriteLine(message);
				Trace.WriteLine(message);
#endif
			}
			catch
			{
				// Ignore exception, what else can we do? Not really a good idea to propagate back to the caller
			}
		}

		/// <summary>
		/// Writes output to the standard error stream.  
		/// </summary>
		/// <param name="message">The message to log.</param>
		/// <remarks>
		/// <para>
		/// Writes to both Console.Error and System.Diagnostics.Trace.
		/// Note that the System.Diagnostics.Trace is not supported
		/// on the Compact Framework.
		/// </para>
		/// <para>
		/// If the AppDomain is not configured with a config file then
		/// the call to System.Diagnostics.Trace may fail. This is only
		/// an issue if you are programmatically creating your own AppDomains.
		/// </para>
		/// </remarks>
		private static void EmitErrorLine(string message)
		{
			try
			{
#if NETCF
				Console.WriteLine(message);
				//System.Diagnostics.Debug.WriteLine(message);
#else
				Console.Error.WriteLine(message);
				Trace.WriteLine(message);
#endif
			}
			catch
			{
				// Ignore exception, what else can we do? Not really a good idea to propagate back to the caller
			}
		}

		#region Private Static Fields

		/// <summary>
		///  Default debug level
		/// </summary>
		private static bool s_debugEnabled = false;

		/// <summary>
		/// In quietMode not even errors generate any output.
		/// </summary>
		private static bool s_quietMode = false;

		private const string PREFIX			= "log4net: ";
		private const string ERR_PREFIX		= "log4net:ERROR ";
		private const string WARN_PREFIX	= "log4net:WARN ";

		#endregion Private Static Fields
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产丝袜白色高跟鞋| 中文字幕欧美一| 久久久久久久久久久久电影| 国产精品美女久久久久aⅴ国产馆| 亚洲国产精品久久久男人的天堂| 九一九一国产精品| 91在线云播放| 国产午夜精品在线观看| 亚洲一区二区三区视频在线播放| 国产麻豆精品一区二区| 欧美午夜精品一区| 国产精品久久久久久久久免费樱桃| 亚洲一区二区三区四区在线| 国产99久久久国产精品潘金 | 经典三级一区二区| 色综合久久久久久久| 欧美高清在线视频| 精品一区二区三区不卡| 欧美日韩一级二级| 一区二区三区日韩欧美| 成人夜色视频网站在线观看| 日韩一级高清毛片| 婷婷国产在线综合| 色香色香欲天天天影视综合网| 国产欧美1区2区3区| 六月丁香婷婷色狠狠久久| 91黄色在线观看| 国产精品天天摸av网| 国产一区在线看| 欧美不卡视频一区| 日本成人在线不卡视频| 欧美高清你懂得| 亚洲二区在线视频| 欧美午夜精品理论片a级按摩| 中文字幕一区二区日韩精品绯色| 国产sm精品调教视频网站| 久久影院午夜论| 国产一区高清在线| 久久品道一品道久久精品| 九九九精品视频| 337p粉嫩大胆色噜噜噜噜亚洲| 免费人成精品欧美精品| 日韩精品一区国产麻豆| 美女在线观看视频一区二区| 欧美一二三四在线| 久久9热精品视频| 精品国产91亚洲一区二区三区婷婷| 亚洲成人第一页| 欧美年轻男男videosbes| 日本在线播放一区二区三区| 欧美一区永久视频免费观看| 久热成人在线视频| 久久色在线视频| 成人免费黄色在线| 一级特黄大欧美久久久| 欧美日韩三级视频| 激情国产一区二区| 国产农村妇女精品| 日本高清不卡aⅴ免费网站| 亚洲国产精品久久人人爱蜜臀| 3atv一区二区三区| 国产一区久久久| 亚洲人精品午夜| 日韩视频一区二区三区在线播放| 国产精品影视网| 亚洲精品日日夜夜| 日韩限制级电影在线观看| 国产福利一区二区三区| 一区二区三区日韩在线观看| 日韩亚洲欧美在线| 91网页版在线| 久久99国内精品| 亚洲精品高清在线观看| 欧美电影免费观看完整版| 成人精品国产一区二区4080| 亚洲成人动漫在线观看| 国产日韩精品一区| 欧美日本乱大交xxxxx| 国产精一区二区三区| 一二三区精品福利视频| 日韩亚洲欧美高清| 欧美性大战久久久| 国产91精品在线观看| 日韩激情在线观看| 亚洲视频免费看| 久久综合狠狠综合| 精品视频一区二区不卡| 成人黄色小视频| 蜜臀精品久久久久久蜜臀| 亚洲综合视频在线观看| 日本一区二区三区在线观看| 欧美一区二区三区在线看| 99国产精品久| 国产99久久久精品| 久久99国产精品免费| 五月婷婷另类国产| 亚洲人妖av一区二区| 国产亚洲污的网站| 日韩精品一区二区三区视频播放| 色欧美日韩亚洲| 不卡的av网站| 国产风韵犹存在线视精品| 国产最新精品精品你懂的| 天堂久久一区二区三区| 一区二区三区日韩欧美| 亚洲欧美在线另类| 亚洲欧洲国产日本综合| 国产欧美一区二区三区网站 | 日本女优在线视频一区二区| 亚洲美女少妇撒尿| 国产精品久久久久一区二区三区共| 欧美成人官网二区| 日韩欧美成人午夜| 日韩欧美自拍偷拍| 日韩三级中文字幕| 欧美一级精品大片| 日韩三级视频中文字幕| 精品欧美乱码久久久久久| 9191精品国产综合久久久久久| 欧美日韩在线亚洲一区蜜芽| 一本色道久久综合亚洲aⅴ蜜桃 | 国产剧情在线观看一区二区| 裸体在线国模精品偷拍| 蜜桃av一区二区三区电影| 六月丁香婷婷久久| 国产一区二区三区蝌蚪| 国产精品99久久久久久宅男| 国产精品一区二区免费不卡| 国产aⅴ综合色| 91亚洲大成网污www| 91久久精品日日躁夜夜躁欧美| 色婷婷亚洲综合| 欧美日韩一区久久| 日韩午夜在线观看视频| 久久蜜桃av一区精品变态类天堂| 国产日韩精品视频一区| 亚洲视频中文字幕| 五月综合激情日本mⅴ| 久久不见久久见免费视频7| 国产一级精品在线| 91小视频在线免费看| 欧美日韩免费观看一区三区| 日韩一区二区三区免费看 | 欧美日韩一区中文字幕| 911国产精品| 国产三级精品视频| 亚洲一区二区三区四区在线观看| 美女精品一区二区| 成人精品电影在线观看| 欧美日本一道本在线视频| 久久久综合视频| 一区二区不卡在线视频 午夜欧美不卡在| 天天射综合影视| 国产91在线观看| 欧美日韩精品免费观看视频| 久久精品一区二区| 亚洲成人免费视| 国产高清不卡一区| 欧美一区二区三区四区久久| 国产日韩欧美精品电影三级在线| 一区二区三区在线不卡| 久久97超碰色| 欧美午夜电影在线播放| 中文字幕巨乱亚洲| 日韩一区欧美二区| 91欧美一区二区| 久久综合国产精品| 亚洲国产日韩在线一区模特| 国产美女一区二区三区| 欧美区在线观看| 亚洲人成在线播放网站岛国| 国产一区美女在线| 日韩亚洲欧美在线观看| 一区二区三区精品视频在线| 国产伦精品一区二区三区视频青涩 | 91免费版pro下载短视频| 欧美一级片免费看| 亚洲国产精品天堂| 91啪在线观看| 国产精品电影院| 国产成人av影院| 精品欧美乱码久久久久久 | 亚洲人成亚洲人成在线观看图片| 青草av.久久免费一区| 欧洲精品一区二区| 亚洲精品乱码久久久久久黑人| 国产精品一区二区三区99| 日韩欧美二区三区| 男女视频一区二区| 欧美精品日韩精品| 亚洲一区中文日韩| 色婷婷精品大视频在线蜜桃视频 | 精品动漫一区二区三区在线观看| 亚洲图片一区二区| 色综合久久综合网| 亚洲欧美日韩系列| 91麻豆免费观看| 亚洲色图丝袜美腿| 99re这里只有精品6| 国产精品久久毛片|