我在使用城堡框架的asp.net系统中的日志文件有问题。日志文件未更新。这是一个自2011年以来的旧系统,我想是日志更新的最后日期是2013年。
还有另一个类似的基本代码使用相同的web配置可以写入日志文件,但在我将日志文件夹权限发送给所有人之后。我在旧系统的登台服务器上尝试了同样的事情,但仍然没有写入日志文件。在这里看了一些信息,但仍然找不到根本原因。
以下是代码:
<log4net>
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net">
<param name="File" value="Logs\LogFile.log" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Size" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="10000KB" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" />
</layout>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}>%n - %m%n" />
</layout>
</appender>
希望有人能提供一些见解。
[UPDATE]
实际上,如上所述,Application_Start(如果它是asp.net)的功能。 log4net.Config.XmlConfigurator.Configure();但它被之前的开发者评论过。当我取消注释时,会出现一个新错误。
这是因为下面的代码:
try
{
SingleSignOnHelper<Staff> singleSignOnHelper = ServiceLocator.Current.GetInstance<SingleSignOnHelper<Staff>>();
windowsAuthSucceeded = singleSignOnHelper.TryAuthenticateWithWindowsAuthentication(Context);
loginPageUrl = singleSignOnHelper.LoginPageUrl;
}
catch (Exception ex)
{
if (m_log.IsErrorEnabled) m_log.Error("Error while trying to authenticate user using Windows authentication", ex);
throw;
}
if (!windowsAuthSucceeded)
Context.Response.Redirect(loginPageUrl);
}
}
答案 0 :(得分:3)
void Application_Start(object sender, EventArgs e)
{
log4net.Config.XmlConfigurator.Configure();
}
你应该在Application_Start中调用一个函数(如果它是asp.net),就像上面一样。 log4net.Config.XmlConfigurator.Configure();