﻿<log4net>
     <appender name="MT5CommunicationWrapperLogRollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <dateTimeStrategy type="log4net.Appender.RollingFileAppender+LocalDateTime" />
      <file type="log4net.Util.PatternString" value="%envFolderPath{MyDocuments}\Jigsaw Trading\RTPAppLogs\RTPWrapperLog" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value=" MM_dd'.log'" />
      <staticLogFileName value="false" />
      <maxSizeRollBackups value="30" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] - %message%newline" />
      </layout>
    </appender>
  
      <!--
     Buffer Forwarding  section:
    - MT5CommunicationWrapperLogAsyncBufferingAppender : will buffer the log message in memory before send the log to RollingFileAppender to write to app log file by MT5CommunicationWrapperLogRollingFileAppender
                                   : this BufferingAppender will limit  300000 which are pending on the buffer, if the items in buffer more than the limit, will skip the log
    
   -->
    <appender name="MT5CommunicationWrapperLogAsyncBufferingAppender" type="MT5CommunicationWrapper.AsyncForwardingAppenderHotSwap" >
      <GrowType value="Skip" />
      <Fix value="268" />
      <GrowLimit  value="500" />
      <appender-ref ref="MT5CommunicationWrapperLogRollingFileAppender" />
    </appender>

  
    <!--
    Logger section:
    - following sections are logger section which will be used on C# code to refer to the log4ner logger. C# code will refer to  following logger and use them as a reference for write log to files
    - daytradrAppLog : This logger for writing App log for RTP. This logger will write on Buffer Forwarding Appender(AsyncForwardingAppenderHotSwap) in order to write the log message to file by AppLogRollingFileAppender
   -->
    <logger name="MT5CommunicationWrapperLog">
      <level value="All"></level>
      <appender-ref ref="MT5CommunicationWrapperLogAsyncBufferingAppender" />
    </logger>

</log4net>