我有一个ASP.NET MVC应用程序,它有一个bootstrapper类,可以在应用程序启动期间配置log4net,如下所示:
public static void Configure(IApplicationContext applicationContext)
{
var appender = new log4net.Appender.FileAppender
{
Layout = new log4net.Layout.PatternLayout("%d [%t]%-5p %c [%x] <%X{auth}> - %m%n"),
File = applicationContext.GetLogFile().FullName
};
BasicConfigurator.Configure(appender);
}
我已经检查过,当我稍后调用日志记录功能时,配置了存储库:
LogManager.GetRepository().Configured
这会返回true。
applicationContext.GetLogFile().FullName
的位置存在,并且还为任何用户设置了能够创建和修改文件的权限,因此我不太明白为什么无法创建日志文件或输出任何数据。< / p>
现在我知道你可以在Web.config中使用配置文件和XML,但由于日志文件的位置和配置会因站点而异,我需要在代码中执行此操作。
请有人帮助我。
答案 0 :(得分:3)
你应该添加一个
appender.ActivateOptions();