2016-04-01 2 views
1

Я обнаружил, что записи, записанные из метода async Web API 2, не регистрируются RollingFileAppender, однако они регистрируются AdoNetAppender.Log4net RollingFileAppender отсутствует записи, зарегистрированные из метода асинхронизации Web API

Моя конфигурация log4net выглядит следующим образом: -

<log4net> 
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender,log4net"> 
     <param name="File" value="Log\\MyLog.log" /> 
     <param name="AppendToFile" value="true" /> 
     <param name="MaxSizeRollBackups" value="500" /> 
     <param name="MaximumFileSize" value="100KB" /> 
     <param name="RollingStyle" value="Size" /> 
     <param name="StaticLogFileName" value="true" /> 
     <layout type="log4net.Layout.PatternLayout,log4net"> 
      <param name="ConversionPattern" value="%d [%t] %property{Url} %-5p %c - %m%n" /> 
     </layout> 
    </appender> 
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> 
     <bufferSize value="1" /> 
     <threshold value="INFO" /> 
     <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     <commandText value="INSERT INTO tblErrorLog ([EventDate],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" /> 
     <usetransactions value="false" /> 
     <parameter> 
      <parameterName value="@log_date" /> 
      <dbType value="DateTime" /> 
      <layout type="log4net.Layout.RawTimeStampLayout" /> 
     </parameter> 
     <parameter> 
      <parameterName value="@thread" /> 
      <dbType value="String" /> 
      <size value="255" /> 
      <layout type="log4net.Layout.PatternLayout"> 
       <conversionPattern value="%thread" /> 
      </layout> 
     </parameter> 
     <parameter> 
      <parameterName value="@log_level" /> 
      <dbType value="String" /> 
      <size value="50" /> 
      <layout type="log4net.Layout.PatternLayout"> 
       <conversionPattern value="%level" /> 
      </layout> 
     </parameter> 
     <parameter> 
      <parameterName value="@logger" /> 
      <dbType value="String" /> 
      <size value="255" /> 
      <layout type="log4net.Layout.PatternLayout"> 
       <conversionPattern value="%logger" /> 
      </layout> 
     </parameter> 
     <parameter> 
      <parameterName value="@message" /> 
      <dbType value="String" /> 
      <size value="4000" /> 
      <layout type="log4net.Layout.PatternLayout"> 
       <conversionPattern value="%message" /> 
      </layout> 
     </parameter> 
     <parameter> 
      <parameterName value="@exception" /> 
      <dbType value="String" /> 
      <size value="2000" /> 
      <layout type="log4net.Layout.ExceptionLayout"> 
       <conversionPattern value="%exception" /> 
      </layout> 
     </parameter> 
    </appender> 
    <root> 
     <!-- Setup the root category, add the appenders and set the default priority --> 
     <priority value="ALL" /> 
     <appender-ref ref="RollingLogFileAppender" /> 
     <appender-ref ref="AdoNetAppender" /> 
    </root> 
</log4net> 

Будет исправить это?

+0

ли вы имеете в виду _some_ записи отсутствуют, или не войти в файл на всех? – stuartd

+0

Я имею в виду некоторые, записи записываются в файл, однако в нем отсутствуют записи, которые регистрируются AdoNetAppender – Mick

ответ

0

Добавление сведений о подключении файла Log4Net Rolling file, который работает как ветер в моем проекте, в случае, если вы увлечены.

<appender name="FileAppender" type="log4net.Appender.RollingFileAppender, log4net"> 
    <bufferSize value="2" /> 
    <file type="log4net.Util.PatternString" value="C:\Haulplan\logs\Haul.log"/> 
    <appendToFile value="false"/> 
    <rollingStyle value="Size"/> 
    <maxSizeRollBackups value="-1" /> 
    <maximumFileSize value="20MB"/> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %level - %logger - %property{log4net:HostName} - %identity - %property{processID} - %property{processName} - %thread - %message%newline" /> 
    </layout> 
    <filter type="log4net.Filter.LevelRangeFilter"> 
     <levelMin value="DEBUG" /> 
     <acceptOnMatch value="true" /> 
    </filter> 
    <filter type="log4net.Filter.DenyAllFilter" /> 
    </appender> 

Использование Appender следующим образом:

<logger additivity="false" name="CustomLogger"> 
    <level value="DEBUG"/> 
    <appender-ref ref="FileAppender" /> 
    </logger> 
Смежные вопросы