Проблема в использовании нескольких приложений: RollingFileAppender и ConsoleAppender .net core log4net - PullRequest
0 голосов
/ 03 ноября 2019

Я сталкиваюсь с проблемой при попытке использовать RollingFileAppender и ConsoleAppender в .net core log4net. Мы запускаем консольное приложение (.net core 3.0) с сервера Apache. Когда мы запускаем приложение из командной строки, все работает нормально, но когда мы запускаем приложение с сервера, приложение зависает в методе log.info () после регистрации нескольких строк.

Когда я удаляю ConsoleAppender из log4net.config и перезапускаю приложение с сервера, тогда все работает отлично.

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

Наше требование состоит в том, чтобы регистрироваться как в файле, так и в консоли. Пожалуйста, помогите или предложите что-нибудь, чтобы решить эту проблему.

ниже приведен файл log4net.config, который я использую:

<?xml version="1.0" encoding="utf-8"?> 
<configuration>  
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>  
    </configSections>   <log4net>
        <root>
          <appender-ref ref="LogFileAppender"/>
          <appender-ref ref="ConsoleAppender"/>
        </root>
        <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
          <file type="log4net.Util.PatternString" value="%property{LogPath}"/>
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
          <appendToFile value="true"/>
          <rollingStyle value="Size"/>
          <maxSizeRollBackups value="7"/>
          <maximumFileSize value="100MB"/>
          <staticLogFileName value="true"/>
          <layout type="log4net.Layout.PatternLayout">
            <header value=""/>
            <footer value=""/>
            <conversionPattern type="log4net.Util.PatternString" value="PID-%processid %%d [%%t] %%-5p %%logger %%m%%n"/>
          </layout>
        </appender>
        <!--colored log on console-->
        <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date %-5level %logger - %message%newline" />
          </layout>
        </appender>

      </log4net>
 </configuration>
...