C# 如何在MVC4中通过Log4Net获取用户活动日志?
我有一个MVC4应用程序。我尝试获取用户活动日志 我看了这个样品 但我失败了。SQL中的日志表为空 首先,我将log4net.2.0.3包添加到我的项目中 我有这个SQL表C# 如何在MVC4中通过Log4Net获取用户活动日志?,c#,asp.net-mvc,asp.net-mvc-4,log4net,C#,Asp.net Mvc,Asp.net Mvc 4,Log4net,我有一个MVC4应用程序。我尝试获取用户活动日志 我看了这个样品 但我失败了。SQL中的日志表为空 首先,我将log4net.2.0.3包添加到我的项目中 我有这个SQL表 CREATE TABLE [dbo].[Log4Net] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [Date] [datetime] NOT NULL , [Thread] [varchar] (255) NOT NULL , [Level] [varchar] (10) NOT NU
CREATE TABLE [dbo].[Log4Net] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (10) NOT NULL ,
[Logger] [varchar] (1000) NOT NULL ,
[Message] [varchar] (4000) NOT NULL ,
[Exception] [varchar] (4000) NOT NULL
) ON [PRIMARY]
我将Log4Net.config添加到我的项目中
在Global.asax.cs中调用Log4NetManager.InitializeLog4Net()
protected void Application_Start()
{
Log4NetManager.InitializeLog4Net();
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
最后登录localhost:1235/Sample
public class SampleController : Controller
{
//
// GET: /Sample/
public ActionResult Index()
{
ILog logger = LogManager.GetLogger(typeof(SampleController));
// get current user
string user = HttpContext.User.Identity.ToString();
logger.Debug("Debug messages are not recorded due to log level");
logger.Info("User : "+" "+user.ToString()+" "+"was here");
try
{
throw new InvalidOperationException();
}
catch (Exception ex)
{
logger.Error("An Error Happened! ", ex);
}
}
return View();
}
但是在访问localhost:1235/Sample之后,我的Log4Net表是空的
我的错在哪里 对不起。我的错误是我用SQL创建了日志表
CREATE TABLE [dbo].[Log4Net] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (10) NOT NULL ,
[Logger] [varchar] (1000) NOT NULL ,
[Message] [varchar] (4000) NOT NULL ,
[Exception] [varchar] (4000) NOT NULL
) ON [PRIMARY]
改变
Log
到
它正在工作。这是MVC4中用户活动日志的一个很好的示例。如果log4net表为空,您可以检查输出窗口以获取错误或警告
我非常感谢您发布此代码,这对我帮助很大!
Log
Log4Net