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");
}
但是什么都没有输出,任何人都不知道为什么。
在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")));
}
有关更多详细信息,请参见示例