У меня возникли проблемы с работой log4net из ASP.NET 3.5. Это первый раз, когда я пытался использовать log4net, я чувствую, что мне не хватает части головоломки.
Мой проект ссылается на сборку log4net, и, насколько я могу судить, он успешно разворачивается на моем сервере.
Мой web.config содержит следующее:
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler
, log4net"
requirePermission="false"/>
</configSections>
<log4net>
<appender name="InfoAppender" type="log4net.Appender.FileAppender">
<file value="..\..\logs\\InfoLog.html" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern
value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<logger name="_Default">
<level value="INFO" />
<appender-ref ref="InfoAppender" />
</logger>
</log4net>
Я использую следующий код для проверки регистратора:
using log4net;
using log4net.Config;
public partial class _Default : System.Web.UI.Page
{
private static readonly ILog log = LogManager.GetLogger("_Default");
protected void Page_Load(object sender, EventArgs e)
{
log.Info("Hello logging world!");
}
}
В моем Global.asax я делаю следующее:
void Application_Start(object sender, EventArgs e)
{
log4net.Config.XmlConfigurator.Configure();
}
На данный момент я не могу думать о том, что еще я могу делать неправильно. Каталог, в котором я пытаюсь сохранить вход, доступен для записи, и даже если я пытаюсь использовать разные каталоги, я получаю тот же результат: ни файла, ни журналов.
Есть предложения? : -)
Редактировать: я пробовал несколько разных форматов для пути и имени файла журнала, некоторые из которых включают ".. \ .. \ InfoLog.html", "InfoLog.html", "logs \ InfoLog.html "и т. д., на случай, если кому-то интересно, в этом ли проблема.
Редактировать: Я добавил корневой логгер-узел обратно в раздел log4net, я случайно пропустил это при копировании из образцов. Корневой узел логгера выглядит так:
<root>
<level value="INFO" />
<appender-ref ref="InfoAppender" />
</root>
Но даже с этим мне все равно не везет.