Click here to Skip to main content
15,889,034 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
HI,

i am using log4net.dll to store my log details into the database,but unable store the data because of wrong settings i made. Can anyone send me a configuration settings for log4net.dll to store data to database.
C#
  //web.xml
<?xml version="1.0"?>

<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->

<configuration>
  <configSections>
    <section name="log4net"
      type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
 
  <log4net>
    <root>
      <level value="INFO"/>
      <!--<appender-ref ref="FileAppender"/>-->
      <appender-ref ref="AdoNetAppender" />
    </root>
    
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
      <bufferSize value="100" />
      <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <connectionString value="data source=SQLSERVER05;initial catalog=vardb;integrated security=false;persist security info=True;User ID=sa;Password=sasa" />
      <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
      <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" />
      </parameter>
    </appender>
    
    
  </log4net>
  <connectionStrings>
    <add name="Constr" connectionString="data source=DELL-XP1\SQLSERVER05;initial catalog=vardb;integrated security=false;persist security info=True;User ID=sa;Password=sasa"/>
    
  </connectionStrings>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    

    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
    </authentication>

    <membership>
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="/" />
      </providers>
    </membership>

    <profile>
      <providers>
        <clear/>
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
      </providers>
    </profile>

    <roleManager enabled="false">
      <providers>
        <clear/>
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
      </providers>
    </roleManager>
    <machineKey validationKey="1619AB2FDEE6B943AD5D31DD68B7EBDAB32682A5891481D9403A6A55C4F91A340131CB4F4AD26A686DF5911A6C05CAC89307663656B62BE304EA66605156E9B5" decryptionKey="C9D165260E6A697B2993D45E05BD64386445DE01031B790A60F229F6A2656ECF" validation="SHA1" decryption="AES" />


  </system.web>
  
  <system.webServer>
     <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>


//Global.asax

void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
log4net.Config.DOMConfigurator.Configure();
}

//assembly.info

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

//myweb.aspx.cs

 private static readonly log4net.ILog log = log4net.LogManager.GetLogger
    (System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
        protected void Page_Load(object sender, EventArgs e)
        {
            log.Info("Info logging");
            log.Debug("Debug logging");
            log.Error("Error logging");
            log.Fatal("Fatal logging");          

        }

// and added dll reference (log4net.dll)
Posted
Updated 25-Jun-13 23:49pm
v3
Comments
PRAKASH_N 26-Jun-13 6:45am    
please refer

http://stackoverflow.com/questions/3279524/storing-log4net-messages-in-sql-server

If you read down in my article (log4net Tutorial[^]) you will see that if you are logging to SQL, you have to check your buffer size. If you leave it at the default of 100, log4net will wait until you have 100 messages in the queue before it writes them to SQL. If you change that buffer to be 1, it will write a log message immediately like you would expect.
 
Share this answer
 
Refer log4net Tutorial[^]

and similar discussion here[^]
 
Share this answer
 
Comments
PRAKASH_N 26-Jun-13 5:42am    
i tried this...but no result...log data is not all saving to database.. any other solution ???

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900