Единый файл конфигурации Log4Net для балансировщика нагрузки

У меня вопрос, как у нас может быть общая конфигурация Log4Net в среде балансировки нагрузки. В настоящее время у нас есть конфигурация для каждой машины в балансировщике нагрузки, и мы должны скопировать изменения на всех машинах, если мы сделаем какие-либо изменения.

Чтобы быть более масштабируемым, я ищу решение, в котором мы можем использовать единую конфигурацию log4net для балансировки нагрузки. Я уверен, что log4net имеет некоторые встроенные возможности, чтобы сделать то же самое, но я не могу найти решение.

Для быстрого решения мы пытаемся скопировать конфигурацию в базу данных и запишем ее в файл log4net.config при запуске приложения (только в первый раз)

Требуется помощь, чтобы конфигурация log4net была более масштабируемой. Заранее спасибо

Ниже приведен пример файла Log4Net.config.

< log4net> < root> < level value="DEBUG" /> < appender-ref ref="Log_New" /> < /root> < appender name="Log_New" type="log4net.Appender.ADONetAppender"> < bufferSize value="1" /> < connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> < connectionString value="server=Server; uid=id; pwd=passweord; database=Log" /> < commandText value="ProcedureName" /> < CommandType value = "StoredProcedure" /> < parameter> < parameterName value="@SessionID" /> < dbType value="String" /> < size value ="200" /> < layout type="log4net.Layout.PatternLayout"> < conversionPattern value="%property{SessionID}" /> < /layout> < /parameter> < parameter> < parameterName value="@Event" /> < dbType value="String" /> < layout type="log4net.Layout.PatternLayout"> < conversionPattern value="%property{Event}" /> < /layout> < /parameter> < parameter> < parameterName value="@LogLevelKey" /> < dbType value="Int64" /> < layout type="log4net.Layout.PatternLayout"> < conversionPattern value="%property{LogLevelKey}" /> < /layout> < /parameter> < parameter> < parameterName value="@StackTrace" /> < dbType value="String" /> < size value ="-1" /> < layout type="log4net.Layout.PatternLayout"> < conversionPattern value="%property{StackTrace}" /> < /layout> < /parameter> < /appender> < /Log4Net>

1 ответ

Решение

Если вы собираетесь читать конфигурацию из базы данных при запуске, то нет смысла записывать ее в файл, а затем снова читать, так как существует перегрузка для загрузки конфигурации из потока. Существует также перегрузка для загрузки конфигурации из URI, что может быть решением.

Другие вопросы по тегам