Skip to content

Duplicate Entry for same Request #24

@Srusti-Thakkar

Description

@Srusti-Thakkar

I had used this nuget in .net core 3.1 version. I am facing issue of duplicate entries for same request. Sometimes it's two, three, four and more than that. My configuration of log4net is :


<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="true">
  <appender name="DebugAppender" type="log4net.Appender.DebugAppender" >
    <threshold value="Error" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
    </layout>
  </appender>

  <appender name="WebLog" type="log4net.Appender.RollingFileAppender">
    <threshold value="Error" />
    <file type="log4net.Util.PatternString" value="\Log\logs_" />
    <staticLogFileName value="false" />
    <param name="AppendToFile" value="true" />
    <param name="RollingStyle" value="Date" />
    <param name="DatePattern" value="yyyy-MM-dd'.log'" />
    <appendToFile value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date  %-5level %logger  - %message%newline" />
    </layout>
  </appender>

  <appender name="AdoNetAppender" type="MicroKnights.Logging.AdoNetAppender, MicroKnights.Log4NetAdoNetAppender">
    <threshold value="INFO" />
    <bufferSize value="1" />
    <connectionType value="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient, Version=1.0.0.0,Culture=neutral,PublicKeyToken=23ec7fc2d6eaa4a5" />
    <connectionStringName value="DefaultConnection" />
    <connectionStringFile value="appsettings.Development.json" />
    <commandText value="EXEC sp_InsertLogInTable @TableName, @RequestTime, @Url, @TimeElapsed, @StatusCode, @Headers, @Referer,@IP,@Method,@PostData,@QueryString, @UserId,@UserAgent, @LogLevel" />
    <parameter>
      <parameterName value="@TableName" />
      <dbType value="String" />
      <size value="10000" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{TableName}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@RequestTime" />
      <dbType value="DateTime" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{RequestTime}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@Url" />
      <dbType value="String" />
      <size value="10000" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{Url}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@TimeElapsed" />
      <dbType value="String" />
      <size value="10000" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{TimeElapsed}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@StatusCode" />
      <dbType value="String" />
      <size value="10000" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{StatusCode}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@Headers" />
      <dbType value="String" />
      <size value="10000" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{Headers}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@Referer" />
      <dbType value="String" />
      <size value="10000" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{Referer}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@IP" />
      <dbType value="String" />
      <size value="10000" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{IP}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@Method" />
      <dbType value="String" />
      <size value="10000" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{Method}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@PostData" />
      <dbType value="String" />
      <size value="10000" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{PostData}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@QueryString" />
      <dbType value="String" />
      <size value="10000" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{QueryString}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@UserId" />
      <dbType value="String" />
      <size value="10000" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{UserId}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@UserAgent" />
      <dbType value="String" />
      <size value="10000" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%property{UserAgent}" />
      </layout>
    </parameter>
    <parameter>
      <parameterName value="@LogLevel" />
      <dbType value="String" />
      <size value="50" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%level" />
      </layout>
    </parameter>
  </appender>

  <root>
    <level/>
    <appender-ref ref="DebugAppender" />
    <appender-ref ref="WebLog" />
    <appender-ref ref="AdoNetAppender" />
  </root>
</log4net>

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