Единый файл конфигурации 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, что может быть решением.