Log4net没有记录dll错误或网站错误

本文关键字:错误 网站 dll 记录 Log4net | 更新日期: 2023-09-27 18:21:35

好的,我使用log4net来记录dll中的异常,但没有任何结果

我添加了以下

[程序集:log4net.Config.xml Configurator(Watch=true)]

我所需要做的就是组装信息,然后在我的类上启动记录器,如下所示

 private static readonly log4net.ILog Log = log4net.LogManager.GetLogger(typeof(SocerDataAccess));

但是OBV的dll并不是完全没有网站的结构,所以我如何将dll配置为使用与web.config相同的调试文件,我有以下内容。

<log4net>
<appender name="RollingFileAppenderAll" type="log4net.Appender.RollingFileAppender">
  <file value="debug.txt" />
  <appendToFile value="true" />
  <rollingStyle value="Composite" />
  <datePattern value=".yyyyMMdd" />
  <maxSizeRollBackups value="10" />
  <maximumFileSize value="1MB" />
  <staticLogFileName value="true" />
  <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
  <layout type="log4net.Layout.Pattern Layout">
    <conversionPattern value="%date [%thread] %-6level %logger - %message %exception%newline" />
  </layout>
  <filter type="log4net.Filter.LoggerMatchFilter">
    <loggerToMatch value="Jayway.ProjectX" />
  </filter>
  <filter type="log4net.Filter.DenyAllFilter" />
</appender>
<root>
  <level value="ALL" />
  <appender-ref ref="RollingFileAppenderAll" />
</root>

我的问题是,我需要做什么才能让它在我放在我的Global.asx下面的中的这个scneraio中工作

    protected void Application_Error(object sender, EventArgs e)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append("Unhandled error occured in application. Sender: ");
        sb.AppendLine(Request.RawUrl);
        sb.Append("Query: ");
        sb.AppendLine(Request.QueryString.ToString());
        Exception ex = Server.GetLastError().GetBaseException();
        Log.Debug(ex.ToString());
        Server.ClearError();
    }

并且在我的应用程序中开始测试记录器是否工作

  protected void Application_Start(object sender, EventArgs e)
    {
        Log.Info("Start Of Unite CMS");
    }

但是什么都没有输出,任何人都不知道为什么。

Log4net没有记录dll错误或网站错误

在Application_Start()方法中配置log4net,如下

  void Application_Start(object sender, EventArgs e) {
          // Code that runs on application startup
          log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/Web.config")));
     }

有关更多详细信息,请参见示例