You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-user@logging.apache.org by Cankut Eskin <ca...@gmail.com> on 2009/06/19 19:13:13 UTC

Getting AdoNetAppender parameters using Log4Net API

Hello,

I've defined some extra parameters for AdoNetAppender in log4net config
file. Everything works fine.

Here is one of my extra parameters defined:

    <parameter>
      <parameterName value="@cachetid"/>
      <dbType value="String"/>
      <size value="36"/>
      <layout type="log4net.Layout.RawPropertyLayout">
        <key value="CachetID"/>
      </layout>
    </parameter>

I wonder if there is some way in Log4Net API to get information about the
parameters defined for AdoNetAppender in the config file.

Any help will be appreciated.

Regards,

Cankut

Re: Getting AdoNetAppender parameters using Log4Net API

Posted by Ron Grabowski <ro...@yahoo.com>.
Surprisingly the parameters collection isn't exposed publicly so you'd have to extend the built-in AdoNetAppender and expose them:

public class AdoNetAppender2 : AdoNetAppender
{
    public AdoNetAppenderParameter[] GetParameters()
    {
        return m_parameters.Cast<AdoNetAppenderParameter>().ToArray();
    }
}

Then you can ask the repository for all the AdoNetAppender2 appenders and inspect their values:

var repository = LogManager.GetRepository();
foreach (var appender in repository.GetAppenders())
{
    var adoNetAppender = appender as AdoNetAppender2;
    if (adoNetAppender != null)
    {
        foreach (var parameter in adoNetAppender.GetParameters())
        {
            // parameter.ParameterName;
        }
    }
}




________________________________
From: Cankut Eskin <ca...@gmail.com>
To: Log4NET User <lo...@logging.apache.org>
Sent: Friday, June 19, 2009 1:13:13 PM
Subject: Getting AdoNetAppender parameters using Log4Net API

Hello,

I've defined some extra parameters for AdoNetAppender in log4net config file. Everything works fine.

Here is one of my extra parameters defined:

    <parameter>
      <parameterName value="@cachetid"/>
      <dbType value="String"/>
      <size value="36"/>
      <layout type="log4net.Layout.RawPropertyLayout">
        <key value="CachetID"/>
      </layout>
    </parameter>

I wonder if there is some way in Log4Net API to get information about the parameters defined for AdoNetAppender in the config file.

Any help will be appreciated.

Regards,

Cankut