Конфигурация Log4net не работает в рабочих веб-службах Doe Azure - PullRequest
0 голосов
/ 14 января 2019

Я использую log4net для входа в мой webapi. протоколирование работает нормально на моем локальном хосте или во время его развертывания на сервере приложений. То же самое не работает в лазурном веб-сервисе. Папка, в которой должен быть создан файл журнала, есть, но там нет файлов.
я добавил ниже раздел в моем файле web.config,

<log4net>
<appender name ="ErrorLog" type ="log4net.Appender.RollingFileAppender">
  <file value ="MyLogs\"/>
  <staticLogFileName value ="false" />
  <appendToFile value ="true"/>
  <rollingStyle value ="Date"/>
  <datePattern value ="yyyy-MM-dd.'Err'" />
  <lockingModel type ="log4net.Appender.FileAppender+MinimalLock"/>
  <layout type ="log4net.Layout.PatternLayout">
    <conversionPattern value ="%d{DATE} [%t] %-5p %c - %m%n" />
  </layout>
</appender>
<logger name ="ErrorLog">
  <maximumFileSize value ="15MB" />
  <appender-ref ref="ErrorLog"/>
</logger>
</log4net>

1 Ответ

0 голосов
/ 15 января 2019

Похоже, что с настройкой log4net произошла ошибка.

Здесь у меня есть полные шаги, которые вы можете выполнить, и они хорошо работают на моем сайте:

1.Установите двоичный файл log4net.dll с помощью NuGet.

2.Настройте имя log4net, введите свойства в файле web.config

<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
  </configSections>
</configuration>

3.Настройка свойств log4net

<log4net>
   <root>
     <level value="Debug"/>
     <appender-ref ref="LogFileAppender"/>
   </root>
   <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
     <param name="File" value="D:\Home\LogFiles\Log4Net\Log4Net.log"/>
     <param name="AppendToFile" value="true"/>
     <rollingStyle value="Size"/>
     <maxSizeRollBackups value="10"/>
     <maximumFileSize value="3MB"/>
     <staticLogFileName value="true"/>
     <layout type="log4net.Layout.PatternLayout">
       <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline"/>
     </layout>
   </appender>
   <logger name="SleepyCore">
     <level value="INFO"/>
   </logger>
 </log4net>

Примечание : необходимо указать адрес входа в систему на лазурном языке, например D:\Home

4. Модифицируйте метод Global.asax Application_Start () и добавьте в него следующий код.

log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/Web.config")));

5.Записать журнал с экземпляром интерфейса ILog

ILog log = LogManager.GetLogger("SleepyCore");
            log.Info("Begin - Page_Load() at " + DateTime.Now.ToString("hh.mm.ss.ffffff"));

6. Выход, как показано ниже:

enter image description here enter image description here

Для получения более подробной информации о том, как настроить log4net в Azure, вы можете обратиться к этой статье .

...