File: log4net.Appender.AdoNetAppender.html

package info (click to toggle)
log4net 1.2.10%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 16,716 kB
  • ctags: 3,590
  • sloc: cs: 25,174; xml: 8,133; cpp: 91; makefile: 57; ansic: 7
file content (95 lines) | stat: -rw-r--r-- 7,065 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<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">log4net SDK Reference</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="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemObjectClassTopic.asp">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">[VisualBasic]</span>
        <br />PublicClassAdoNetAppender<div>Inherits<a href="log4net.Appender.BufferingAppenderSkeleton.html">BufferingAppenderSkeleton</a></div></div>
      <div class="syntax">
        <span class="lang">[C#]</span>
        <div>publicclassAdoNetAppender<b> : <a href="log4net.Appender.BufferingAppenderSkeleton.html">BufferingAppenderSkeleton</a></b></div>
      </div>
      <H4 class="dtH4">Thread Safety</H4>
      <P>This type is <b>not</b> safe for multithreaded operations.</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="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataCommandTypeClassTextTopic.asp">Text</a> (<code>System.Data.CommandType.Text</code>) to specify a prepared statement or to <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemDataCommandTypeClassStoredProcedureTopic.asp">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><hr /><div id="footer"><p><a href="http://logging.apache.org/log4net">Copyright 2001-2006 The Apache Software Foundation.</a></p><p>Generated from assembly log4net [1.2.10.0]</p></div></div>
  </body>
</html>