在前4篇Log4net入门文章中,我们讲述了log4net的一些简单用法,在这一篇中我们主要讲述如何在ASP.NET MVC 5项目中将日志信息写入SQL Server数据库中。
一、创建最简单的ASP.NET MVC 5应用程序
1、打开VS2015,依次点击【文件】-【新建项目】,创建一个“ASP.NET Web应用程序”,将项目名称命名为“Log4netMVC”,然后点击“确定”按钮。
2、在“选择模板”选项中,我们选择“Empty”模板,在“为以下项添加文件夹和核心引用”选项中勾选“MVC”选项,然后点击“确定”按钮。
3、右击项目中的“Controllers”文件夹,依次点击【添加】-【控制器】,然后选择“MVC 5控制器 - 空”,然后点击“添加”按钮。在弹出的对话框中将控制器名称命名为“HomeController”,然后点击“添加”按钮。
4、双击打开新添加的“HomeController.cs”文件,定位到Index()方法,然后右击该方法名,点击【添加视图】选项,弹出“添加视图”对话框,在该对话框中取消勾选“使用布局页”选项,其他选项保持不变,然后点击“添加”按钮。
5、在Index.cshtml文件中的div元素中添加如下代码:
1 @{ 2 Layout = null; 3 } 4 5 6 7 8 9 10Index 11 12 1314 ASP.NET MVC 5中使用log4net!1516 17
至此,最简单的一个ASP.NET MVC 5项目创建完毕,项目结构如下所示:
二、在ASP.NET MVC 5项目中配置log4net
1、依次点击【工具】-【NuGet包管理器】-【管理解决方案的NuGet程序包】,然后点击“浏览”标签页,在搜索中输入“log4net”,然后回车,点击搜索到的“log4net”,然后在右侧勾选“Log4netMVC”,版本选择“最新稳定版2.0.5”,然后点击“安装”按钮,等待安装完毕即可。
2、在Log4netMVC项目中展开“Properties”节点,然后双击打开“AssemblyInfo.cs”文件,在该文件的最后添加以下一行代码:
1 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4net.config", Watch = true)]
3、在Log4netMVC项目的根目录下添加一个名为“Log4net.config”的配置文件,注意该配置文件的名称与第2步中的“ConfigFile”的值一致。将Log4net.config文件配置如下:
1 23 4 5 6 78 11 129 10 13 14 8315 16 73 7417 18 19 20 21 22 23 24 25 29 3026 27 28 31 38 3932 33 34 35 3736 40 47 4841 42 43 44 4645 49 56 5750 51 52 53 5554 58 65 6659 60 61 62 6463 67 7268 69 70 71 75 76 77 78 8279 80 81
4、双击打开“Log4netMVC”根目录下的Global.asax文件,然后在Application_Start()方法中添加一行代码,最终代码如下所示:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 using System.Web.Routing; 7 8 namespace Log4netMVC 9 {10 public class MvcApplication : System.Web.HttpApplication11 {12 protected void Application_Start()13 {14 AreaRegistration.RegisterAllAreas();15 RouteConfig.RegisterRoutes(RouteTable.Routes);16 17 log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Server.MapPath("Log4net.config")));18 }19 }20 }
5、双击打开“HomeController.cs”文件,编辑代码如下所示:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 7 namespace Log4netMVC.Controllers 8 { 9 public class HomeController : Controller10 {11 private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);12 13 // GET: Home14 public ActionResult Index()15 {16 log.Info("ASP.NET MVC Info!");17 return View();18 }19 }20 }
三、创建数据库以及日志表
首先,我们在SQL Server中创建一个名为“Management”的数据库,然后在该数据库中创建一个名为“Log”的表,该表结构如下所示:
1 CREATE TABLE [dbo].[Log]( 2 [Id] [int] IDENTITY(1,1) NOT NULL, 3 [Date] [datetime] NOT NULL, 4 [Thread] [varchar](255) NOT NULL, 5 [Level] [varchar](50) NOT NULL, 6 [Logger] [varchar](255) NOT NULL, 7 [Message] [varchar](4000) NOT NULL, 8 [Exception] [varchar](2000) NULL, 9 CONSTRAINT [PK_Log] PRIMARY KEY CLUSTERED 10 (11 [Id] ASC12 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]13 ) ON [PRIMARY]
至此,所有准备工作以及配置工作全部完成,运行该ASP.NET MVC 5应用程序,即可看到日志成功写入到SQL Server数据库。
https://www.cnblogs.com/yonghuacui/p/6179987.html