Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在MVC4中通过Log4Net获取用户活动日志?_C#_Asp.net Mvc_Asp.net Mvc 4_Log4net - Fatal编程技术网

C# 如何在MVC4中通过Log4Net获取用户活动日志?

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

我有一个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 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