最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# log4net 日志輸出的實(shí)現(xiàn)示例

 更新時(shí)間:2021年10月22日 09:57:00   作者:letisgo5  
本文主要介紹了C# log4net 日志輸出的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

思路:
1.安裝插件:安裝log4net
2.使用配置:添加log4net.config配置文件
3.輸出日志文件格式:添加日志配置
4.AssemblyInfo.cs中配置

第一步:安裝log4net

在這里插入圖片描述

在這里插入圖片描述

第二步:添加log4net.config配置文件

新增log4net.config配置文件,內(nèi)容如下,與Program.cs同一目錄即可。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<configSections>
		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
	</configSections>
	<log4net>
		<!--level取值:OFF FATAL ERROR WARN INFO DEBUG ALL -->
		<logger name="loginfo">
			<level value="ALL"/>
			<appender-ref ref="InfoAppender"/>
		</logger>
		<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
			<param name="File" value="log\\"/>
			<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
			<param name="AppendToFile" value="true"/>
			<param name="MaxFileSize" value="10240"/>
			<param name="StaticLogFileName" value="false"/>
			<param name="DatePattern" value="yyyy-MM-dd&quot;.txt&quot;"/>
			<param name="RollingStyle" value="Date"/>
			<layout type="log4net.Layout.PatternLayout">
				<param name="ConversionPattern" value="%d [%p] - %m%n"/>
			</layout>
		</appender>
	</log4net>
</configuration>

并設(shè)置 – 屬性 – 復(fù)制到輸出目錄為:始終復(fù)制

在這里插入圖片描述

第三步:添加日志配置

在文件Program.cs應(yīng)用程序主入口加入:

LogUtils.SetConfig(new FileInfo(Application.StartupPath + @"\log4net.config"));

在這里插入圖片描述

LogUtils.cs 寫(xiě)入日志公共類(lèi)

class LogUtils
{
	private static readonly ILog loginfo = LogManager.GetLogger("loginfo");

	/// <summary>
	/// 從缺省配置文件獲取日志配置
	/// </summary>
	public static void SetConfig()
	{
		XmlConfigurator.Configure();
	}

	/// <summary>
	/// 從指定配置文件獲取日志配置
	/// </summary>
	/// <param name="configFile">指定的配置文件</param>
	public static void SetConfig(FileInfo configFile)
	{
		XmlConfigurator.Configure(configFile);
	}

	/// <summary>
	/// 生成分類(lèi)日志
	/// </summary>
	/// <param name="info">日志信息</param>
	/// <param name="dirName">保存目錄名,形如d:\log\aaa</param>
	private static void WriteSortLog(string info, string dirName)
	{
		try
		{
			if (false == System.IO.Directory.Exists(dirName))
			{
				System.IO.Directory.CreateDirectory(dirName);
			}
			string path = dirName + "\\" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
			StreamWriter sw = new StreamWriter(path, true, System.Text.Encoding.Default);
			sw.WriteLine(DateTime.Now.ToString("HH:mm:ss: ") + info);
			sw.Close();
		}
		catch (Exception ex)
		{
			string expMsg = "WriteSortLog異常:" + ex.Message + Environment.NewLine + ex.StackTrace;

			if (ex.InnerException != null)
				expMsg += Environment.NewLine + "InnerException:" + ex.InnerException.Message;

			Error(expMsg, ex);
		}
	}

	/// <summary>
	/// Info級(jí) 常規(guī)日志
	/// </summary>
	/// <param name="info">日志信息</param>
	public static void Info(string info)
	{
		if (loginfo.IsInfoEnabled)
		{
			loginfo.Info(info);
		}
	}

	/// <summary>
	/// Info 先生成常規(guī)日志,然后在指定目錄另外創(chuàng)建一份日志
	/// 主要用來(lái)需要對(duì)日志進(jìn)行分類(lèi)時(shí)使用
	/// </summary>
	/// <param name="info"></param>
	/// <param name="dirName"></param>
	public static void Info(string info, string dirName)
	{
		if (loginfo.IsInfoEnabled)
		{
			//生成常規(guī)日志
			loginfo.Info(info);

			//生成分類(lèi)日志
			WriteSortLog(info, dirName);
		}
	}

	/// <summary>
	/// Debug級(jí) 常規(guī)日志
	/// </summary>
	/// <param name="info">日志信息</param>
	public static void Debug(string info)
	{
		if (loginfo.IsDebugEnabled)
		{
			loginfo.Debug(info);
		}
	}

	/// <summary>
	/// Debug級(jí) 異常日志
	/// </summary>
	/// <param name="info">日志信息</param>
	/// <param name="exp">異常信息</param>
	public static void Debug(string info, Exception exp)
	{
		if (loginfo.IsDebugEnabled)
		{
			loginfo.Debug(info, exp);
		}
	}

	/// <summary>
	/// Error級(jí) 常規(guī)的日志
	/// </summary>
	/// <param name="info">日志信息</param>
	public static void Error(string info)
	{
		if (loginfo.IsErrorEnabled)
		{
			loginfo.Error(info);
		}
	}

	/// <summary>
	/// Error 異常日志
	/// </summary>
	/// <param name="info">日志信息</param>
	/// <param name="exp">異常信息</param>
	public static void Error(string info, Exception exp)
	{
		if (loginfo.IsErrorEnabled)
		{
			loginfo.Error(info, exp);
		}
	}

	/// <summary>
	/// Fatal級(jí) 常規(guī)日志
	/// </summary>
	/// <param name="info">日志信息</param>
	public static void Fatal(string info)
	{
		if (loginfo.IsFatalEnabled)
		{
			loginfo.Fatal(info);
		}
	}

	/// <summary>
	/// Fatal級(jí) 異常日志
	/// </summary>
	/// <param name="info">日志信息</param>
	/// <param name="exp">異常信息</param>
	public static void Fatal(string info, Exception exp)
	{
		if (loginfo.IsFatalEnabled)
		{
			loginfo.Fatal(info, exp);
		}
	}

	/// <summary>
	/// Warn級(jí) 常規(guī)日志
	/// </summary>
	/// <param name="info">日志信息</param>
	public static void Warn(string info)
	{
		if (loginfo.IsWarnEnabled)
		{
			loginfo.Warn(info);
		}
	}

	/// <summary>
	/// Warn級(jí) 異常日志
	/// </summary>
	/// <param name="info">日志</param>
	/// <param name="exp">異常信息</param>
	public static void Warn(string info, Exception exp)
	{
		if (loginfo.IsWarnEnabled)
		{
			loginfo.Warn(info, exp);
		}
	}
}

第四步:AssemblyInfo.cs中配置 Watch = true

在項(xiàng)目Properties文件夾下AssemblyInfo.cs中加入:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

在這里插入圖片描述

最后通過(guò)

LogUtils.Error(“錯(cuò)誤日志”);
LogUtils.Info(“正常輸出日志”);
LogUtils.Warn(“溫馨提示日志”);

最后啟動(dòng)項(xiàng)目:會(huì)在項(xiàng)目debug目錄下輸出日志文件夾log內(nèi)

到此這篇關(guān)于C# log4net 日志輸出的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)C# log4net 日志輸出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

临潭县| 长泰县| 长葛市| 吴忠市| 隆尧县| 买车| 南和县| 余姚市| 宁武县| 新乐市| 鲁甸县| 贺兰县| 昭平县| 响水县| 香港 | 桂东县| 广宁县| 汤原县| 景宁| 库尔勒市| 中阳县| 仁布县| 泰和县| 城市| 文昌市| 扎兰屯市| 高台县| 高州市| 平乡县| 宜丰县| 尼勒克县| 潢川县| 五峰| 博兴县| 宁蒗| 普定县| 启东市| 隆子县| 洪洞县| 淮南市| 黄陵县|