Почему log4net не регистрирует сообщения - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть консольное приложение, для которого я пытаюсь настроить ведение журнала с помощью log4net.Я сделал все основные шаги для его настройки -

  1. Добавлена ​​конфигурация в приложении
<configSections>
  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<appSettings>
  <add key="LogFileRootFolderPath" value="C:\TestApplicationLogs\"/>
</appSettings>
<log4net>
  <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="TestApplication.log" />
    <appendToFile value="true" />
    <rollingStyle value="Composite" />
    <maxSizeRollBackups value="14" />
    <maximumFileSize value="15000KB" />
    <datePattern value="yyyyMMdd" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="{%level}%date{MM/dd HH:mm:ss} - %message%newline"/>
    </layout>
  </appender>
  <root>
    <level value="All" />
    <!-- You can use levels, in increasing order of verbosity: Off, Fatal, Error, Warn, Info, Debug, All -->
    <appender-ref ref="RollingFileAppender" />
  </root>
</log4net>

PS Я создал новую папку 'TestApplicationLogs' в C:\

  1. Добавлено [assembly: log4net.Config.XmlConfigurator(Watch = true)] в AssemblyInfo.cs

  2. В Program.cs

private static readonly log4net.ILog log = log4net.LogManager.GetLogger
        (System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

static void Main(string[] args)
{
     log.Info("App Started");
}

Может кто-нибудь подсказать, чего не хватает?

1 Ответ

2 голосов
/ 30 ноября 2011

Я не вижу, где вы определяете этот C: \ TestApplicationLogs как каталог, в который он должен войти.В конфигурации log4net вы только что указали имя файла, поэтому он войдет в каталог, в котором вы выполняете свой exe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...