Можно ли вытянуть connectionString для log4net AdoNetAppender откуда-либо в web.config файле?

У меня уже есть строка подключения дб в моем web.config файле. Я отсканировал log4net документы, но, может казаться, не нахожу способ использовать его в log4net разделе моего web.config файла. Возможно сделать что-то вроде этого?

<connectionStrings>
    <add name="connStr" connectionString="Data Source=localhost; ..." />
</connectionStrings>

<log4net>
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
    <connectionString connectionStringName="connStr"/>
      ...
</log4net>
42
задан abatishchev 28 November 2017 в 19:24
поделиться

2 ответа

Создайте класс, расширяющий AdoNetAppender , например WebAppAdoNetAppender . Реализуйте свойство ConnectionString в этом классе и извлеките строку подключения из файла web.config в этом установщике свойств.

<log4net>
    <appender name="AdoNetAppender" type="MyApp.WebAppAdoNetAppender">
    ...

...

public class WebAppAdoNetAppender : log4net.Appender.AdoNetAppender
{
    public new string ConnectionString
    {
        get { return base.ConnectionString; }
        set { base.ConnectionString = ...   }
    }
}
32
ответ дан 26 November 2019 в 23:39
поделиться

fyi это будет реализовано в 1.2.11 согласно этому. однако я понятия не имею, когда они собираются выпустить это.

5
ответ дан 26 November 2019 в 23:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: