Skip to content

Buffered logs not flushed at the configured interval #28

@princykv

Description

@princykv

Hi,

I am trying to use BufferingCloudWatchLogsAppender with log4net.
Below is my application configuration in which I expect to send the buffered logs to CloudWatchLogs on every 60 seconds.

  <log4net>
<appender name="CloudWatchLogsAppender" type="AWSAppender.CloudWatchLogs.BufferingCloudWatchLogsAppender, AWSAppender.CloudWatchLogs">
<bufferSize value="1000" />
      <lossy value="false" />
      <evaluator type="log4net.Core.TimeEvaluator">
        <interval value="60" />
      </evaluator>
      <groupName value="MyGroup" />
      <streamName value="MyStream" />
      <regionendpoint type="Amazon.RegionEndpoint" value="us-east-1" />
      <layout type="AWSAppender.Core.Layout.PatternLayout, AWSAppender.Core">
        <conversionPattern value="%date [%thread] %-5level  %message" />
      </layout>
    </appender>
    <root>
      <level value="ALL" />
      <appender-ref ref="CloudWatchLogsAppender" />
    </root>
    <logger name="AWSLogger" additivity="false">
      <level value="ALL" />
      <appender-ref ref="CloudWatchLogsAppender" />
    </logger>
  </log4net>

If I generate some logs within the interval, it is not send to AWS CloudWatchLogs until I generate any logs at/after this interval.
If I push any logs at/after the interval, it writes all the buffered message within the interval to cloud watch logs.

Could you please check on this issue and provide a mechanism to always flush the buffered logs when the interval time elapse.

Regards,
Princy

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions