Как переименовать разделы в app.config?Название раздела не работает - PullRequest
0 голосов
/ 28 декабря 2010

не возможно переименовать теги в app.config?

Если я использую следующее

...
<sectionGroup name="common">
  <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
...
<common>
  <logging>
    <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
      <arg key="configType" value="INLINE" />
    </factoryAdapter>
  </logging>
</common>
...

, все работает как положено (ведется регистрация с помощью Common Logging).Но если я изменяю имена разделов, конфигурация игнорируется, например, если я переименую группу, общую для mycommon.

<sectionGroup name="mycommon">
  <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
...
<mycommon>
  <logging>
    <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
      <arg key="configType" value="INLINE" />
    </factoryAdapter>
  </logging>
</mycommon>
...

Кто-нибудь знает хитрость?

Ответы [ 2 ]

1 голос
/ 28 декабря 2010

Решение было найдено в самом коде ...

public static class LogManager
{
    /// <summary>
    /// The name of the default configuration section to read settings from.
    /// </summary>
    /// <remarks>
    /// You can always change the source of your configuration settings by setting another <see cref="IConfigurationReader"/> instance
    /// on <see cref="ConfigurationReader"/>.
    /// </remarks>
    public static readonly string COMMON_LOGGING_SECTION = "common/logging";

    private static IConfigurationReader _configurationReader;

Таким образом, вы можете создать новый класс, реализующий интерфейс IConfigurationReader, расширить / заменить LogManager (или заменить строку, но это требует перекомпиляцииCommon.Logging).

Спасибо за хорошо прокомментированный код Common.Logging ... Я получил его после отладки.

1 голос
/ 28 декабря 2010

Может быть, путь XML связан с log4net, попробуйте спросить их.

...