0

I am currently using Log4net to log in a table but I need to stop using that table and log everything in another table for logging errors. Basically I just changed the log4net values and parameters and the table in which I am logging. Here is the Log file

<!--SQL LOG TABLE Appender-->
<appender name="LogAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1" />
<!--THIS SETTING ALTERS HOW OFTEN IT WRITES ALL THE LOGGING TO THE DB-->
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<!--local logging connection string-->
<connectionStringName value="DSFDefaultConnection" />
<commandText value="INSERT INTO ProviderHistoryLog ([LogDate],[Event], [CalledPackageName],[ActivityDescription],[SubPackageTaskName],[TaskName]) VALUES (@log_date, @thread, @logger, @message, @notApplicable, @requesturi)" />
<parameter>
  <parameterName value="@ProviderId" />
  <dbType value="long" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="null" />
  </layout>
</parameter>
<parameter>
  <parameterName value="@log_date" />
  <dbType value="DateTime" />
  <layout type="log4net.Layout.RawUtcTimeStampLayout" />
</parameter>
<parameter>
  <parameterName value="@thread" />
  <dbType value="String" />
  <size value="255" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%thread" />
  </layout>
</parameter>
<parameter>
  <parameterName value="@logger" />
  <dbType value="String" />
  <size value="255" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%logger | %class " />
  </layout>
</parameter>
<!--<parameter>
  <parameterName value="@identity" />
  <dbType value="String" />
  <size value="255" />
   <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="DPPAdmin@aez.com"/>-->
    <!-- <converter>-->
      <!-- <name value="httpuser" />-->
       <!-- <type value="fi360.DataServiceFramework.Common.Logging.HttpIdentityUserPatternConverter" />-->
   <!--  </converter>-->
 <!-- </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="@notApplicable" />
  <dbType value="String" />
  <size value="-1" />
  <layout type="%notApplicable" />
</parameter>
<parameter>
  <parameterName value="@requesturi" />
  <dbType value="String" />
  <size value="255" />
  <layout type="log4net.Layout.PatternLayout">
    <param name="ConversionPattern" value="%requesturi"/>
    <converter>
      <name value="requesturi" />
      <type value="fi360.DataServiceFramework.Common.Logging.RequestUriUserPatternConverter" />
    </converter>
  </layout>
  </parameter>
  </appender>

The problem is, it's not logging in the ProviderHistoryLog table. It's not logging anything. As you can see the value for the buffer size is 1 so I am thinking the issue is in the INSERT INTO statement.

  • 1
    Did you try to switch on the [internal logging](https://stackoverflow.com/a/756241/982149) and look for exceptions / messages? – Fildor Mar 21 '18 at 12:20
  • Yup, that helped. I used the debugging to figure out what the issue is. Thanks a bunch. Can you please add your comment as an answer to I can mark it as a solution to my problem? @Fildor – Novica Josifovski Mar 23 '18 at 12:09
  • Possible duplicate of [How to track down log4net problems](https://stackoverflow.com/questions/756125/how-to-track-down-log4net-problems) – Fildor Mar 26 '18 at 08:30
  • I marked it as dupe instead. Not because you asked the same question but it turned out to be kind of an x-y-question where in the end you _should_ have asked that dupe question. I hope that's legit. However I don't feel deserving the credit for such a trivial solution, that already exists on SO. – Fildor Mar 26 '18 at 08:35

0 Answers0