Member 8076760 Ответов: 1

Файл журнала не создается в log4net


Привет,

Я пытаюсь протоколировать информацию/ошибки с помощью log4net.


---------------------------------------------
Спасибо,
Раджешвари

Что я уже пробовал:

я добавил Это в файл assemblyinfo. cs

[assembly: log4net.Config.XmlConfigurator(Watch = true)]


а конфигурационный файл выглядит так

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <root>
      <level value="INFO" />     
      <appender-ref ref="RollingFileAppender" />
    </root>    
    
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
      <file value="c:\\LogFiles\\info.log" />      
      <staticLogFileName value="true" />
      <appendToFile value="true" />      
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="5" />
      <maximumFileSize value="1MB" />     
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %level %logger - %message%newline" />
      </layout>
    </appender>
  </log4net> 
  
</configuration>


и вызов метода log, как показано ниже

public static class Logger
    {
        private static readonly log4net.ILog log =
            log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
        public static void LogError(String message)
        {
            log4net.Config.XmlConfigurator.Configure();
            log.Info("Application is working");
        }
    }



в чем может быть проблема?

1 Ответов

Рейтинг:
1

David_Wimbley

Спасибо за все примеры кода. Я создал консольный проект для репликации, и у меня не было никаких проблем. Папка изначально не существовала на моей машине, она была создана, и лог-файлы записывались в нее просто отлично.

Я бы посоветовал посмотреть, есть ли у вашего приложения соответствующие разрешения на c:\logfiles справочник.

Также другим вариантом было бы добавить

<appSettings>
      <add key="log4net.Internal.Debug" value="true"/>
   </appSettings>


Перейдите в файл .config, а затем посмотрите, какие отладочные сообщения генерируются log4net.