You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-dev@logging.apache.org by ni...@apache.org on 2004/05/30 19:56:04 UTC
cvs commit: logging-log4net/src/Appender AdoNetAppender.cs
nicko 2004/05/30 10:56:04
Modified: src/Appender AdoNetAppender.cs
Log:
Updated doc comments. Minor code cleanup
Revision Changes Path
1.5 +67 -12 logging-log4net/src/Appender/AdoNetAppender.cs
Index: AdoNetAppender.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Appender/AdoNetAppender.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- AdoNetAppender.cs 21 May 2004 22:15:32 -0000 1.4
+++ AdoNetAppender.cs 30 May 2004 17:56:04 -0000 1.5
@@ -138,6 +138,9 @@
/// <summary>
/// Initializes a new instance of the <see cref="AdoNetAppender" /> class.
/// </summary>
+ /// <remarks>
+ /// Public default constructor to initialize a new instance of this class.
+ /// </remarks>
public AdoNetAppender()
{
m_connectionType = "System.Data.OleDb.OleDbConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
@@ -266,13 +269,23 @@
}
/// <summary>
- /// Gets or sets a value that indicates whether transactions should be used
- /// to insert logging events in the database.
+ /// Should transactions be used to insert logging events in the database.
/// </summary>
/// <value>
/// <c>true</c> if transactions should be used to insert logging events in
/// the database, otherwise <c>false</c>. The default value is <c>true</c>.
/// </value>
+ /// <remarks>
+ /// <para>
+ /// Gets or sets a value that indicates whether transactions should be used
+ /// to insert logging events in the database.
+ /// </para>
+ /// <para>
+ /// When set a single transaction will be used to insert the buffered events
+ /// into the database. Otherwise each event will be inserted without using
+ /// an explicit transaction.
+ /// </para>
+ /// </remarks>
public bool UseTransactions
{
get { return m_useTransactions; }
@@ -309,6 +322,19 @@
/// <summary>
/// Initialize the appender based on the options set
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// This is part of the <see cref="IOptionHandler"/> delayed object
+ /// activation scheme. The <see cref="ActivateOptions"/> method must
+ /// be called on this object after the configuration properties have
+ /// been set. Until <see cref="ActivateOptions"/> is called this
+ /// object is in an undefined state and must not be used.
+ /// </para>
+ /// <para>
+ /// If any of the configuration properties are modified then
+ /// <see cref="ActivateOptions"/> must be called again.
+ /// </para>
+ /// </remarks>
override public void ActivateOptions()
{
base.ActivateOptions();
@@ -335,6 +361,11 @@
/// <summary>
/// Override the parent method to close the database
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Closes the database command and database connection.
+ /// </para>
+ /// </remarks>
override protected void OnClose()
{
base.OnClose();
@@ -358,6 +389,12 @@
/// Inserts the events into the database.
/// </summary>
/// <param name="events">The events to insert into the database.</param>
+ /// <remarks>
+ /// <para>
+ /// Insert all the events specified in the <paramref name="events"/>
+ /// array into the database.
+ /// </para>
+ /// </remarks>
override protected void SendBuffer(LoggingEvent[] events)
{
// Check that the connection exists and is open
@@ -368,9 +405,10 @@
// Create transaction
// NJC - Do this on 2 lines because it can confuse the debugger
IDbTransaction dbTran = null;
- dbTran = m_dbConnection.BeginTransaction();
try
{
+ dbTran = m_dbConnection.BeginTransaction();
+
SendBuffer(dbTran, events);
// commit transaction
@@ -379,12 +417,15 @@
catch(Exception ex)
{
// rollback the transaction
- try
- {
- dbTran.Rollback();
- }
- catch(Exception)
+ if (dbTran != null)
{
+ try
+ {
+ dbTran.Rollback();
+ }
+ catch(Exception)
+ {
+ }
}
// Can't insert into the database. That's a bad thing
@@ -513,7 +554,7 @@
/// <summary>
/// Connects to the database.
/// </summary>
- virtual protected void InitializeDatabaseConnection()
+ private void InitializeDatabaseConnection()
{
try
{
@@ -536,6 +577,18 @@
/// <summary>
/// Retrieves the class type of the ADO.NET provider.
/// </summary>
+ /// <remarks>
+ /// <para>
+ /// Gets the Type of the ADO.NET provider to use to connect to the
+ /// database. This method resolves the type specified in the
+ /// <see cref="ConnectionType"/> property.
+ /// </para>
+ /// <para>
+ /// Subclasses can override this method to return a different type
+ /// if necessary.
+ /// </para>
+ /// </remarks>
+ /// <returns>The <see cref="Type"/> of the ADO.NET provider</returns>
virtual protected Type ResolveConnectionType()
{
try
@@ -552,7 +605,7 @@
/// <summary>
/// Prepares the database command and initialize the parameters.
/// </summary>
- virtual protected void InitializeDatabaseCommand()
+ private void InitializeDatabaseCommand()
{
try
{
@@ -708,9 +761,11 @@
#region Public Instance Constructors
/// <summary>
- /// Initializes a new instance of the <see cref="AdoNetAppenderParameter" />
- /// class.
+ /// Initializes a new instance of the <see cref="AdoNetAppenderParameter" /> class.
/// </summary>
+ /// <remarks>
+ /// Default constructor for the AdoNetAppenderParameter class.
+ /// </remarks>
public AdoNetAppenderParameter()
{
m_precision = 0;