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

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

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

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

第一步:安裝log4net

在這里插入圖片描述

在這里插入圖片描述

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

新增log4net.config配置文件,內容如下,與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>

并設置 – 屬性 – 復制到輸出目錄為:始終復制

在這里插入圖片描述

第三步:添加日志配置

在文件Program.cs應用程序主入口加入:

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

在這里插入圖片描述

LogUtils.cs 寫入日志公共類

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>
	/// 生成分類日志
	/// </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級 常規(guī)日志
	/// </summary>
	/// <param name="info">日志信息</param>
	public static void Info(string info)
	{
		if (loginfo.IsInfoEnabled)
		{
			loginfo.Info(info);
		}
	}

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

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

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

	/// <summary>
	/// Debug級 異常日志
	/// </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級 常規(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級 常規(guī)日志
	/// </summary>
	/// <param name="info">日志信息</param>
	public static void Fatal(string info)
	{
		if (loginfo.IsFatalEnabled)
		{
			loginfo.Fatal(info);
		}
	}

	/// <summary>
	/// Fatal級 異常日志
	/// </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級 常規(guī)日志
	/// </summary>
	/// <param name="info">日志信息</param>
	public static void Warn(string info)
	{
		if (loginfo.IsWarnEnabled)
		{
			loginfo.Warn(info);
		}
	}

	/// <summary>
	/// Warn級 異常日志
	/// </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

在項目Properties文件夾下AssemblyInfo.cs中加入:

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

在這里插入圖片描述

最后通過

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

最后啟動項目:會在項目debug目錄下輸出日志文件夾log內

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

相關文章

最新評論

泰顺县| 缙云县| 廊坊市| 治多县| 慈利县| 蒲城县| 平武县| 新平| 望奎县| 隆安县| 安阳市| 望奎县| 伊金霍洛旗| 吕梁市| 崇信县| 江达县| 北流市| 鄂伦春自治旗| 双桥区| 儋州市| 遵义市| 广元市| 富蕴县| 尼玛县| 丰城市| 屏山县| 珲春市| 泾源县| 郁南县| 富源县| 河曲县| 东乌珠穆沁旗| 江陵县| 兴安县| 桐柏县| 璧山县| 西林县| 禹城市| 无锡市| 陵水| 安国市|