<!-- Revised appender for Microsoft Access.
   Table definition:
      Log4NetID   AutoNumber  (primary key)
      Date        Date/Time
      Thread      Text  (Length=255)
      Level       Text  (Length=50)
      Logger      Text  (Length=255)
      Message     Memo
      Exception   Memo  (Allow Zero Length = yes)

   Changes over prior version:

      1) By explicitly setting the date pattern to "%d{yyyy-MM-dd
HH:mm:ss}", you
         can use a Date/Time data type in Access.

      2) By allowing a zero length in the field "Exception" both
ILog.<level> constructors
         will work.
         For example: _log.Info("Processing Complete");
                      _log.Error("Unhandled exception in the main
thread",e.Exception);

      3) @exception field is added.
-->

<appender name="ADONetAppender_Access"
type="log4net.Appender.ADONetAppender">
  <param name="ConnectionString"
value="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\\Usr\\Log\\Logger.mdb;User Id=;Password=;" />
  <param name="CommandText" value="INSERT INTO Log4Net
([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date,
@thread, @log_level, @logger, @message, @exception )" />
  <param name="Parameter">
    <param name="ParameterName" value="@log_date" />
    <param name="DbType" value="String" />
    <param name="Size" value="255" />
    <param name="Layout" type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss}" />
    </param>
   </param>
   <param name="Parameter">
     <param name="ParameterName" value="@thread" />
     <param name="DbType" value="String" />
     <param name="Size" value="255" />
     <param name="Layout" type="log4net.Layout.PatternLayout">
       <param name="ConversionPattern" value="%t" />
     </param>
   </param>
   <param name="Parameter">
     <param name="ParameterName" value="@log_level" />
     <param name="DbType" value="String" />
     <param name="Size" value="50" />
     <param name="Layout" type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%p" />
     </param>
   </param>
   <param name="Parameter">
     <param name="ParameterName" value="@logger" />
     <param name="DbType" value="String" />
     <param name="Size" value="255" />
     <param name="Layout" type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%c" />
     </param>
   </param>
   <param name="Parameter">
     <param name="ParameterName" value="@message" />
     <param name="DbType" value="String" />
     <param name="Size" value="4000" />
     <param name="Layout" type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%m" />
     </param>
   </param>
   <param name="Parameter">
     <param name="ParameterName" value="@exception" />
     <param name="DbType" value="String" />
     <param name="Size" value="2000" />
     <param name="Layout" type="log4net.Layout.ExceptionLayout" />
   </param>
</appender>


Reply via email to