Hello, I'm using Log4Net with a clustered (MSCS) SQL 2000 database in active
passive mode.
When the active node switch while my application works, I lost database
connection. If I restart my application, it works fine. I'd like to keep it
working even if the active database node is switching!

Log4Net Assembly Version : 1.2.0.30714
My program assembly is a dll used by an exe as a windows service.
I'm using MS .Net v1.1
My app.config file is 

<?xml version="1.0" encoding="utf-8" ?> 
<configuration>
        <!-- Register a section handler for the log4net section -->
        <configSections>
                <section name="log4net"
type="System.Configuration.IgnoreSectionHandler" />
        </configSections>
        <system.runtime.remoting>
                <application name="LogServeur">
                <service>
                        <wellknown mode="Singleton"
type="SNCF.CSA.LogServeur.LogServeurCentral,LogServeurCentral" 
        
objectUri="LogServeurCentral">
                        </wellknown>
                </service>
                <channels>
                <channel ref="tcp server" port="9000"/>         
                </channels>
                </application>
        </system.runtime.remoting>
        <appSettings>
                <!--  To enable internal log4net logging specify the
following appSettings key --> 
                <add key="log4net.Internal.Debug" value="true" /> 
        </appSettings>
        <log4net debug="true">
                <appender name="RollingFileAppender"
type="log4net.Appender.RollingFileAppender">
                        <file value="Log.txt" />
                        <appendToFile value="true" />
                        <rollingStyle value="Size" />
                        <maxSizeRollBackups value="10" />
                        <maximumFileSize value="100KB" />
                        <staticLogFileName value="true" />
                        <layout type="log4net.Layout.PatternLayout">
                                <conversionPattern value="%d [%t] %-5p %c
(%P{hostname}) [%x] - %m%n" />
                        </layout>
                </appender>
                <appender name="ADONetAppender_SqlServer"
type="log4net.Appender.ADONetAppender">
                        <param name="BufferSize" value="1" />
                        <param name="ConnectionType"
value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" />
                        <param name="ConnectionString" value="data
source=SDBR2-HABSQL;initial catalog=LOGS;integrated security=SSPI;persist
security info=true" />
                        <param name="CommandText" value="INSERT INTO
LOG_LO_Log
([LOG_LO_Date],[LOG_LO_Thread],[LOG_LO_Level],[LOG_LO_Logger],[LOG_LO_Messag
e],[LOG_LO_Exception]) VALUES (@log_date, @thread, @log_level, @logger,
@message,@exception)" />
                        <param name="Parameter">
                                <param name="ParameterName"
value="@log_date" />
                                <param name="DbType" value="DateTime" />
                                <!-- 
                                <param name="Layout"
type="log4net.Layout.PatternLayout">
                                        <param name="ConversionPattern"
value="%d{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />
                                </param> 
                                -->
                                <param name="Layout"
type="log4net.Layout.RawTimeStampLayout" />
                        </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>
                <root>
                        <level value="DEBUG" />
                        <appender-ref ref="RollingFileAppender" />
                        <appender-ref ref="ADONetAppender_SqlServer" />
                </root>
        </log4net>
</configuration>

The error I'm getting in DebugView tools is
00000201        89.89310373     [2224] log4net:ERROR [ADONetAppender] Failed
in DoAppend     
00000202        89.89489893     [2224] System.Data.SqlClient.SqlException:
General network error.  Check your network documentation.       
00000203        89.89489893     [2224]    at
System.Data.SqlClient.SqlConnection.OnError(SqlException exception,
TdsParserState state)   
00000204        89.89489893     [2224]    at
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,
TdsParserState state)   
00000205        89.89489893     [2224]    at
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()      
00000206        89.89489893     [2224]    at
System.Data.SqlClient.TdsParser.FlushBuffer(Byte status)        
00000207        89.89489893     [2224]    at
System.Data.SqlClient.TdsParser.TdsExecuteSQLBatch(String text, Int32
timeout)        
00000208        89.89489893     [2224]    at
System.Data.SqlClient.SqlInternalConnection.ExecuteTransaction(String
sqlBatch, String method)        
00000209        89.89489893     [2224]    at
System.Data.SqlClient.SqlConnection.BeginTransaction(IsolationLevel iso)

00000210        89.89489893     [2224]    at
System.Data.SqlClient.SqlConnection.BeginTransaction()  
00000211        89.89489893     [2224]    at
System.Data.SqlClient.SqlConnection.System.Data.IDbConnection.BeginTransacti
on()    
00000212        89.89489893     [2224]    at
log4net.Appender.ADONetAppender.SendBuffer(LoggingEvent[] events)       
00000213        89.89489893     [2224]    at
log4net.Appender.BufferingAppenderSkeleton.Append(LoggingEvent loggingEvent)

00000214        89.89489893     [2224]    at
log4net.Appender.AppenderSkeleton.DoAppend(LoggingEvent loggingEvent)   

Vincent RAMONA
UNILOG IT SERVICES - DIRECTION REGIONALE OUEST
Espace Performance 1 - B�timent 1
Atlanpole - La Fleuriaye
BP 727
44481 CARQUEFOU CEDEX
T�l : 02.28.01.54.62
Fax : 02.28.01.59.24
Port. : 06.71.13.14.74
E-mail : mailto:[EMAIL PROTECTED]
 



Reply via email to