<html dir="LTR">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
    <title>AdoNetAppender Members</title>
    <xml>
    </xml>
    <link rel="stylesheet" type="text/css" href="MSDN.css" />
  </head>
  <body id="bodyID" class="dtBODY">
    <div id="nsbanner">
      <div id="bannerrow1">
        <table class="bannerparthead" cellspacing="0">
          <tr id="hdr">
            <td class="runninghead">Apache log4net� SDK Documentation - Microsoft .NET Framework 4.0</td>
            <td class="product">
            </td>
          </tr>
        </table>
      </div>
      <div id="TitleRow">
        <h1 class="dtH1">AdoNetAppender Members
					</h1>
      </div>
    </div>
    <div id="nstext">
      <p>
        <a href="log4net.Appender.AdoNetAppender.html">AdoNetAppender overview</a>
      </p>
      <h4 class="dtH4">Public Instance Constructors</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
          <tr VALIGN="top">
            <td width="50%">
              <img src="pubmethod.gif" />
              <a href="log4net.Appender.AdoNetAppenderConstructor.html">AdoNetAppender Constructor</a>
            </td>
            <td width="50%"> Initializes a new instance of the <a href="log4net.Appender.AdoNetAppender.html">AdoNetAppender</a> class. </td>
          </tr>
        </table>
      </div>
      <h4 class="dtH4">Public Instance Properties</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AdoNetAppender.AppSettingsKey.html">AppSettingsKey</a></td><td width="50%"> The appSettings key from App.Config that contains the connection string. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.BufferSize.html">BufferSize</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Gets or sets the size of the cyclic buffer used to hold the logging events. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AdoNetAppender.CommandText.html">CommandText</a></td><td width="50%"> Gets or sets the command text that is used to insert logging events into the database. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AdoNetAppender.CommandType.html">CommandType</a></td><td width="50%"> Gets or sets the command type to execute. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AdoNetAppender.ConnectionString.html">ConnectionString</a></td><td width="50%"> Gets or sets the database connection string that is used to connect to the database. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AdoNetAppender.ConnectionStringName.html">ConnectionStringName</a></td><td width="50%"> The connectionStrings key from App.Config that contains the connection string. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AdoNetAppender.ConnectionType.html">ConnectionType</a></td><td width="50%"> Gets or sets the type name of the <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemDataIDbConnectionClassTopic.htm">IDbConnection</a> connection that should be created. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AppenderSkeleton.ErrorHandler.html">ErrorHandler</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Gets or sets the <a href="log4net.Core.IErrorHandler.html">IErrorHandler</a> for this appender. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.Evaluator.html">Evaluator</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Gets or sets the <a href="log4net.Core.ITriggeringEventEvaluator.html">ITriggeringEventEvaluator</a> that causes the buffer to be sent immediately. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AppenderSkeleton.FilterHead.html">FilterHead</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> The filter chain. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.Fix.html">Fix</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Gets or sets a the fields that will be fixed in the event </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AppenderSkeleton.Layout.html">Layout</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Gets or sets the <a href="log4net.Layout.ILayout.html">ILayout</a> for this appender. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.Lossy.html">Lossy</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Gets or sets a value that indicates whether the appender is lossy. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.LossyEvaluator.html">LossyEvaluator</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Gets or sets the value of the <a href="log4net.Core.ITriggeringEventEvaluator.html">ITriggeringEventEvaluator</a> to use. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AppenderSkeleton.Name.html">Name</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Gets or sets the name of this appender. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.OnlyFixPartialEventData.html">OnlyFixPartialEventData</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"><FONT color="red"><B>Obsolete. </B></FONT> Gets or sets a value indicating if only part of the logging event data should be fixed. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AdoNetAppender.ReconnectOnError.html">ReconnectOnError</a></td><td width="50%"> Should this appender try to reconnect to the database on error. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AdoNetAppender.SecurityContext.html">SecurityContext</a></td><td width="50%"> Gets or sets the <b>SecurityContext</b> used to call the NetSend method. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AppenderSkeleton.Threshold.html">Threshold</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Gets or sets the threshold <a href="log4net.Core.Level.html">Level</a> of this appender. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubproperty.gif"></img><a href="log4net.Appender.AdoNetAppender.UseTransactions.html">UseTransactions</a></td><td width="50%"> Should transactions be used to insert logging events in the database. </td></tr></table>
      </div>
      <h4 class="dtH4">Public Instance Methods</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.AdoNetAppender.ActivateOptions.html">ActivateOptions</a></td><td width="50%"> Initialize the appender based on the options set </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.AddFilter.html">AddFilter</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Adds a filter to the end of the filter chain. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.AdoNetAppender.AddParameter.html">AddParameter</a></td><td width="50%"> Adds a parameter to the command. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.ClearFilters.html">ClearFilters</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Clears the filter list for this appender. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.Close.html">Close</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Closes the appender and release resources. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.DoAppend_overloads.html">DoAppend</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%">Overloaded.  Performs threshold checks and invokes filters before delegating actual logging to the subclasses specific <b>Append</b> method. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassEqualsTopic.htm">Equals</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.Flush_overloads.html">Flush</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%">Overloaded.  Flush the currently buffered events </td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassGetHashCodeTopic.htm">GetHashCode</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassGetTypeTopic.htm">GetType</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="pubmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassToStringTopic.htm">ToString</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr></table>
      </div>
      <h4 class="dtH4">Protected Instance Fields</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="protfield.gif"></img><a href="log4net.Appender.AdoNetAppender.m_parameters.html">m_parameters</a></td><td width="50%"> The list of <a href="log4net.Appender.AdoNetAppenderParameter.html">AdoNetAppenderParameter</a> objects. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protfield.gif"></img><a href="log4net.Appender.AdoNetAppender.m_usePreparedCommand.html">m_usePreparedCommand</a></td><td width="50%"> Flag to indicate if we are using a command object </td></tr></table>
      </div>
      <h4 class="dtH4">Protected Instance Properties</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="protproperty.gif"></img><a href="log4net.Appender.AdoNetAppender.Connection.html">Connection</a></td><td width="50%"> Gets or sets the underlying <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemDataIDbConnectionClassTopic.htm">IDbConnection</a>. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protproperty.gif"></img><a href="log4net.Appender.AppenderSkeleton.RequiresLayout.html">RequiresLayout</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Tests if this appender requires a <a href="log4net.Appender.AppenderSkeleton.Layout.html">Layout</a> to be set. </td></tr></table>
      </div>
      <h4 class="dtH4">Protected Instance Methods</h4>
      <div class="tablediv">
        <table class="dtTABLE" cellspacing="0">
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.Append_overload_1.html">Append</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%">Overloaded.  This method is called by the <b>DoAppend</b> method. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.Append_overload_1.html">Append</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%">Overloaded.  Subclasses of <a href="log4net.Appender.AppenderSkeleton.html">AppenderSkeleton</a> should implement this method to perform actual logging. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AdoNetAppender.CreateConnection.html">CreateConnection</a></td><td width="50%"> Creates an <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemDataIDbConnectionClassTopic.htm">IDbConnection</a> instance used to connect to the database. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.FilterEvent.html">FilterEvent</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Test if the logging event should we output by this appender </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.Finalize.html">Finalize</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Finalizes this appender by calling the implementation's <a href="log4net.Appender.AppenderSkeleton.Close.html">Close</a> method. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AdoNetAppender.GetLogStatement.html">GetLogStatement</a></td><td width="50%"> Formats the log message into database statement text. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.IsAsSevereAsThreshold.html">IsAsSevereAsThreshold</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Checks if the message level is below this appender's threshold. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassMemberwiseCloneTopic.htm">MemberwiseClone</a> (inherited from <b>Object</b>)</td><td width="50%">�</td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AdoNetAppender.OnClose.html">OnClose</a></td><td width="50%"> Override the parent method to close the database </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.PreAppendCheck.html">PreAppendCheck</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%"> Called before <b>Append</b> as a precondition. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AppenderSkeleton.RenderLoggingEvent_overloads.html">RenderLoggingEvent</a> (inherited from <b>AppenderSkeleton</b>)</td><td width="50%">Overloaded.  Renders the <a href="log4net.Core.LoggingEvent.html">LoggingEvent</a> to a string. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AdoNetAppender.ResolveConnectionString.html">ResolveConnectionString</a></td><td width="50%"> Resolves the connection string from the ConnectionString, ConnectionStringName, or AppSettingsKey property. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AdoNetAppender.ResolveConnectionType.html">ResolveConnectionType</a></td><td width="50%"> Retrieves the class type of the ADO.NET provider. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.AdoNetAppender.SendBuffer_overloads.html">SendBuffer</a></td><td width="50%">Overloaded.  Inserts the events into the database. </td></tr>
<tr VALIGN="top"><td width="50%"><img src="protmethod.gif"></img><a href="log4net.Appender.BufferingAppenderSkeleton.SendFromBuffer.html">SendFromBuffer</a> (inherited from <b>BufferingAppenderSkeleton</b>)</td><td width="50%"> Sends the contents of the buffer. </td></tr></table>
      </div>
      <h4 class="dtH4">See Also</h4>
      <p>
        <a href="log4net.Appender.AdoNetAppender.html">AdoNetAppender Class</a> | <a href="log4net.Appender.html">log4net.Appender Namespace</a></p>
      <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e" viewastext="true" style="display: none;">
        <param name="Keyword" value="AdoNetAppender class">
        </param>
        <param name="Keyword" value="log4net.Appender.AdoNetAppender class">
        </param>
        <param name="Keyword" value="AdoNetAppender class, all members">
        </param>
      </object>
      <hr />
      <div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2013 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div>
    </div>
  </body>
</html>
