Monday, May 21, 2012
 
The best way to analyze your logs! Minimize
 Log4Net Mail archive   

The Log4Net mailing list is a great source of information about using log4Net, in this forum we collect all the messages in the log4net user list and some selected threads from the developer list.

Subject: ADO.Net appender configuration for sybase?
Prev Next
You are not authorized to post a reply.

Author Messages
Ranjan, Bibhakar

01/28/2009 12:21 PM  

In log4net configuration, we have found sample xml code for most of the common RDBMS except Sybase.

 

Could you please tell me how can I configure the Sybase database with log4net using ADONet appender?

 

Thanks

Bibhakar

Ron Grabowski

01/28/2009 9:31 PM  
What Sybase type implements IConnection?
Ranjan, Bibhakar

01/29/2009 6:32 AM  

iAnywhere.Data.AsaClient.AsaConnection

Pascal ROZE

01/29/2009 9:23 AM  
Here a config file for Sybase that works for us:
You can see that we have to specify the Interfaces File path

<appender name="DatabaseAppender" type="log4net.Appender.AdoNetAppender">
            <bufferSize value="0" />
            <connectionString value="Provider=Sybase ASE OLE DB Provider;Interfaces File Server Name=SYBREC_MINET;User ID=w_miin;Password=w_miin;Interfaces File=C:\Progra~1\Sybclient\oc_1251\ini\sql.ini;" />
            <commandText value="insert into TradingLog_t (logDate, thread, tradeRef, logger, opCaract, errorMessage, customerMessage, statut, productType) values (?, ?, ?, ?, ?, ?, ?, ?, ?)" />
            <parameter>
                <parameterName value="@logDate" />
                <dbType value="DateTime" />
                <size value="255" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%date{yyyy'-'MM'-'dd HH':'mm}" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@thread" />
                <dbType value="AnsiString" />
                <size value="10" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%thread" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@tradeRef" />
                <dbType value="AnsiString" />
                <size value="25" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%property{tradeRef}" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@logger" />
                <dbType value="AnsiString" />
                <size value="25" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%property{logger}" />
                </layout>               
            </parameter>
            <parameter>
                <parameterName value="@opCaract" />
                <dbType value="AnsiString" />
                <size value="500" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%property{errorBody}" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@errorMessage" />
                <dbType value="AnsiString" />
                <size value="512" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%property{message}" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@customerMessage" />
                <dbType value="AnsiString" />
                <size value="512" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%property{customerMessage}" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@statut" />
                <dbType value="AnsiString" />
                <size value="10" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%property{statut}" />
                </layout>
            </parameter>
            <parameter>
                <parameterName value="@productType" />
                <dbType value="AnsiString" />
                <size value="20" />
                <layout type="log4net.Layout.PatternLayout">
                    <conversionPattern value="%property{productType}" />
                </layout>
            </parameter>
        </appender>
Ranjan, Bibhakar

01/29/2009 11:35 AM  

I wrote the following appender

 

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

  <configSections>

    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

  </configSections>

  <log4net>

    <appender name="DatabaseAppender" type="log4net.Appender.AdoNetAppender">

      <bufferSize value="0" />

      <connectionString value="Provider=ASAProv.90;Eng=databasename;Uid=UserId;Pwd=Pwd; Links=tcpip" />

      <commandText value="insert into EVENT_LOG(DATE, THREAD, LEVEL, LOGGER, MESSAGE, EXCEPTION) values (?, ?, ?, ?, ?, ?)" />

      <parameter>

        <parameterName value="@DATE" />

        <dbType value="DateTime" />

        <size value="255" />

        <layout type="log4net.Layout.PatternLayout">

          <conversionPattern value="%date{yyyy'-'MM'-'dd HH':'mm}" />

        </layout>

      </parameter>

      <parameter>

        <parameterName value="@THREAD" />

        <dbType value="AnsiString" />

        <size value="500" />

        <layout type="log4net.Layout.PatternLayout">

          <conversionPattern value="%THREAD" />

        </layout>

      </parameter>

      <parameter>

        <parameterName value="@LEVEL" />

        <dbType value="AnsiString" />

        <size value="500" />

        <layout type="log4net.Layout.PatternLayout">

          <conversionPattern value="%property{LEVEL}" />

        </layout>

      </parameter>

      <parameter>

        <parameterName value="@LOGGER" />

        <dbType value="AnsiString" />

        <size value="500" />

        <layout type="log4net.Layout.PatternLayout">

          <conversionPattern value="%property{LOGGER}" />

        </layout>

      </parameter>

      <parameter>

        <parameterName value="@MESSAGE" />

        <dbType value="AnsiString" />

        <size value="4000" />

        <layout type="log4net.Layout.PatternLayout">

          <conversionPattern value="%property{MESSAGE}" />

        </layout>

      </parameter>

      <parameter>

        <parameterName value="@EXCEPTION" />

        <dbType value="AnsiString" />

        <size value="4000" />

        <layout type="log4net.Layout.PatternLayout">

          <conversionPattern value="%property{EXCEPTION}" />

        </layout>

      </parameter>

    </appender>

 

    <root>

      <level value="DEBUG" />

      <appender-ref ref="DatabaseAppender" />

    </root>

  </log4net>

</configuration>

 

I am getting the following error:

log4net:ERROR [AdoNetAppender] Could not prepare database command [insert into EVENT_LOG(DATE, THREAD, LEVEL, LOGGER, MESSAGE, EXCEPTION) values (?, ?, ?, ?, ?, ?)]

System.Data.OleDb.OleDbException: Syntax error near 'DATE' on line 1

   at System.Data.OleDb.OleDbCommand.PrepareCommandText(Int32 expectedExecutionCount)

   at System.Data.OleDb.OleDbCommand.Prepare()

   at log4net.Appender.AdoNetAppender.InitializeDatabaseCommand()

Pascal ROZE

01/29/2009 12:16 PM  
Maybe DATE is a key word.
Try with [DATE]:

insert into EVENT_LOG([DATE], THREAD, LEVEL, LOGGER, MESSAGE, EXCEPTION) values (?, ?, ?, ?, ?, ?)

You are not authorized to post a reply.
Forums > Log4Net > Log4Net Mail archive > ADO.Net appender configuration for sybase?



ActiveForums 3.7

 

 

 

 

 

 

 

 

Log4Net Dashboard

Log analysis and monitoring made easy!

Log4Net Dashboard is a log viewer that can read log statements from a variety of logging output targets.

You can download a free developer version.

  

Check it out!

On the demonstration site you can try it  with live data.demo.l4ndash.com - Try Log4Net Dashboard with live data

The mail archive is a copy of all the mail sent to the mail address: log4net-user@logging.apache.org, organized as a forum.

If you would like to participate in the mail list, send a mail to log4net-user-subscribe@logging.apache.org.

More information about the mailing list is available on: http://logging.apache.org/log4net/support.html

 

A complete topic list is available and can be viewed here (warning, it takes some time to load)

 

Copyright 2005-2008 by FaktNet AS Terms Of Use Privacy Statement