Log4Net配置登录DB:没有任何反应

时间:2016-10-05 14:05:12

标签: asp.net asp.net-mvc log4net log4net-configuration

我第一次尝试使用log4net登录我的数据库。

关注this simple tutorial,没有任何反应。没有崩溃,但没有任何内容记录到我的数据库中。

以下是我在使用Nuget安装log4net后所做的事情:

的Web.config

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    ...
</configSections>

然后我只是复制/粘贴文档的样本,只需替换我的连接字符串(正在工作)

<log4net>
<root>
  <level value="ALL" />
  <!--send all logs to appenders-->
  <appender-ref ref="AdoNetAppender" />
</root>
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
  <bufferSize value="1" />
  <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <connectionString value="data source=MYSERVER;initial catalog=MYDB;integrated security=false;persist security info=True" />
  <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
  <parameter>
    <parameterName value="@log_date" />
    <dbType value="DateTime" />
    <layout type="log4net.Layout.RawTimeStampLayout" />
  </parameter>
  <parameter>
    <parameterName value="@thread" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%thread" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@log_level" />
    <dbType value="String" />
    <size value="50" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%level" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@logger" />
    <dbType value="String" />
    <size value="255" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%logger" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@message" />
    <dbType value="String" />
    <size value="4000" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%message" />
    </layout>
  </parameter>
  <parameter>
    <parameterName value="@exception" />
    <dbType value="String" />
    <size value="2000" />
    <layout type="log4net.Layout.ExceptionLayout" />
  </parameter>
</appender>

是的,没有UserId /密码,这是我在localhost上的调试会话。这不是问题。

的AssemblyInfo.cs

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

然后,在随机控制器中,仅用于测试

public class HomeController : Controller
{
    private static ILog logger = LogManager.GetLogger(typeof(HomeController));

    public ActionResult Test()
    {
        logger.Error("My first log");
        return View();
    }
}

我的数据库绝望地空了!

有人能指出我错在哪里吗?我可能会错过一些显而易见的事情...... 提前致谢

0 个答案:

没有答案