blob: 1d5d5b7fdb60cbbfbb664b788ddc9abd98a4f8c9 [file] [log] [blame]
<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 Class</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 Class</h1>
</div>
</div>
<div id="nstext">
<p> Appender that logs to a database. </p>
<p>For a list of all members of this type, see <a href="log4net.Appender.AdoNetAppenderMembers.html">AdoNetAppender Members</a>.</p>
<p>
<a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemObjectClassTopic.htm">System.Object</a>
<br />���<a href="log4net.Appender.AppenderSkeleton.html">log4net.Appender.AppenderSkeleton</a><br />������<a href="log4net.Appender.BufferingAppenderSkeleton.html">log4net.Appender.BufferingAppenderSkeleton</a><br />���������<b>log4net.Appender.AdoNetAppender</b></p>
<div class="syntax">
<span class="lang">[Visual�Basic]</span>
<br />Public�Class�AdoNetAppender<div>����Inherits�<a href="log4net.Appender.BufferingAppenderSkeleton.html">BufferingAppenderSkeleton</a></div></div>
<div class="syntax">
<span class="lang">[C#]</span>
<div>public�class�AdoNetAppender<b> : <a href="log4net.Appender.BufferingAppenderSkeleton.html">BufferingAppenderSkeleton</a></b></div>
</div>
<H4 class="dtH4">Thread Safety</H4>
<P>Public static (<b>Shared</b> in Visual Basic) members of this type are
safe for multithreaded operations. Instance members are <b>not</b> guaranteed to be
thread-safe.</P>
<h4 class="dtH4">Remarks</h4>
<p>
<b>AdoNetAppender</b> appends logging events to a table within a database. The appender can be configured to specify the connection string by setting the <a href="log4net.Appender.AdoNetAppender.ConnectionString.html">ConnectionString</a> property. The connection type (provider) can be specified by setting the <a href="log4net.Appender.AdoNetAppender.ConnectionType.html">ConnectionType</a> property. For more information on database connection strings for your specific database see <a href="http://www.connectionstrings.com/">http://www.connectionstrings.com/</a>. </p>
<p> Records are written into the database either using a prepared statement or a stored procedure. The <a href="log4net.Appender.AdoNetAppender.CommandType.html">CommandType</a> property is set to <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemDataCommandTypeClassTextTopic.htm">Text</a> (<code>System.Data.CommandType.Text</code>) to specify a prepared statement or to <a href="ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemDataCommandTypeClassStoredProcedureTopic.htm">StoredProcedure</a> (<code>System.Data.CommandType.StoredProcedure</code>) to specify a stored procedure. </p>
<p> The prepared statement text or the name of the stored procedure must be set in the <a href="log4net.Appender.AdoNetAppender.CommandText.html">CommandText</a> property. </p>
<p> The prepared statement or stored procedure can take a number of parameters. Parameters are added using the <a href="log4net.Appender.AdoNetAppender.AddParameter.html">AddParameter</a> method. This adds a single <a href="log4net.Appender.AdoNetAppenderParameter.html">AdoNetAppenderParameter</a> to the ordered list of parameters. The <b>AdoNetAppenderParameter</b> type may be subclassed if required to provide database specific functionality. The <b>AdoNetAppenderParameter</b> specifies the parameter name, database type, size, and how the value should be generated using a <a href="log4net.Layout.ILayout.html">ILayout</a>. </p>
<h4 class="dtH4">Example</h4><p> An example of a SQL Server table that could be logged to: <pre class="code"><span class="lang">[SQL]
</span>CREATE TABLE [dbo].[Log] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Date] [datetime] NOT NULL ,
[Thread] [varchar] (255) NOT NULL ,
[Level] [varchar] (20) NOT NULL ,
[Logger] [varchar] (255) NOT NULL ,
[Message] [varchar] (4000) NOT NULL
) ON [PRIMARY]
</pre>
An example configuration to log to the above table: <pre class="code" escaped="true"><span class="lang">[XML]
</span>&lt;appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender"&gt;
&lt;connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;
&lt;connectionString value="data source=SQLSVR;initial catalog=test_log4net;integrated security=false;persist security info=True;User ID=sa;Password=sa" /&gt;
&lt;commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" /&gt;
&lt;parameter&gt;
&lt;parameterName value="@log_date" /&gt;
&lt;dbType value="DateTime" /&gt;
&lt;layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" /&gt;
&lt;/parameter&gt;
&lt;parameter&gt;
&lt;parameterName value="@thread" /&gt;
&lt;dbType value="String" /&gt;
&lt;size value="255" /&gt;
&lt;layout type="log4net.Layout.PatternLayout" value="%thread" /&gt;
&lt;/parameter&gt;
&lt;parameter&gt;
&lt;parameterName value="@log_level" /&gt;
&lt;dbType value="String" /&gt;
&lt;size value="50" /&gt;
&lt;layout type="log4net.Layout.PatternLayout" value="%level" /&gt;
&lt;/parameter&gt;
&lt;parameter&gt;
&lt;parameterName value="@logger" /&gt;
&lt;dbType value="String" /&gt;
&lt;size value="255" /&gt;
&lt;layout type="log4net.Layout.PatternLayout" value="%logger" /&gt;
&lt;/parameter&gt;
&lt;parameter&gt;
&lt;parameterName value="@message" /&gt;
&lt;dbType value="String" /&gt;
&lt;size value="4000" /&gt;
&lt;layout type="log4net.Layout.PatternLayout" value="%message" /&gt;
&lt;/parameter&gt;
&lt;/appender&gt;
</pre>
</p><h4 class="dtH4">Requirements</h4><p><b>Namespace: </b><a href="log4net.Appender.html">log4net.Appender</a></p><p><b>Assembly: </b>log4net (in log4net.dll)
</p><h4 class="dtH4">See Also</h4><p><a href="log4net.Appender.AdoNetAppenderMembers.html">AdoNetAppender Members</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, about AdoNetAppender class"></param></object><hr /><div id="footer"><a href='http://logging.apache.org/log4net/'>Copyright 2004-2011 The Apache Software Foundation.</a><br></br>Apache log4net, Apache and log4net are trademarks of The Apache Software Foundation.</div></div>
</body>
</html>