Изменить свойства слушателя во время выполнения - PullRequest
0 голосов
/ 11 февраля 2011

Я использую Ent Lib 5. У меня есть прослушиватель журнала событий с атрибутом Source, в настоящее время установленным на общее имя для нашего набора приложений.

Этот файл конфигурации связан с несколькими проектами (общий доступ и не изменится).

Мы по-прежнему хотели бы, чтобы каждое приложение добавляло свое собственное имя источника в журнал событий, чтобы однозначно идентифицировать его ... как мне изменить имя источника во время выполнения?

Я могу легко изменить все, что захочу, в отношении самого события журнала, но я хочу изменить атрибут источника прослушивателя для каждого приложения.

Надеюсь, это имеет смысл

UPDATE: Вот настройка конфигурации, которую мы используем ... это атрибут SOURCE, который я хочу изменить во время выполнения.

add name = "Общее форматированное EventLog" type = "Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Версия = 5.0.0.0, Культура = нейтральная, PublicKeyToken = 314eta56 = 314b353 "Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, версия = 5.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35" formatter = "текстовый формат" "machineName =". " source = "CHANGE AT RUTTIME" log = "Приложение"

1 Ответ

0 голосов
/ 11 февраля 2011

Вы можете попросить Logger написать в определенную категорию.

В приведенном ниже примере созданы 2 категории - AppOne, AppTwo.А затем я добавил двух слушателей трассировки - AppOneListener (привязан к категории AppOne) и AppTwoListener (привязан к AppTwo Listener).

И в исходном коде, когда вы хотите войти, укажите категорию.1006 *

Ниже приведена конфигурация: посмотрите на разделы категории источников и слушателей.

 <loggingConfiguration name="" tracingEnabled="true" defaultCategory="AppOne">
        <listeners>
            <add name="AppOneListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                fileName="traceAppOne.log" formatter="Text Formatter" />
            <add name="AppTwoListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                fileName="traceAppTwo.log" formatter="Text Formatter" />
        </listeners>
        <formatters>
            <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                template="Title:{title}{newline}&#xA;App Domain: {localAppDomain}{newline}&#xA;ProcessId: {localProcessId}{newline}&#xA;Process Name: {localProcessName}{newline}&#xA;"
                name="Text Formatter" />
        </formatters>
        <categorySources>
            <add switchValue="All" name="AppOne" />
            <add switchValue="All" name="AppTwo">
                <listeners>
                    <add name="AppTwoListener" />
                </listeners>
            </add>
        </categorySources>
        <specialSources>
            <allEvents switchValue="All" name="All Events" />
            <notProcessed switchValue="All" name="Unprocessed Category" />
            <errors switchValue="All" name="Logging Errors &amp; Warnings" />
        </specialSources>
    </loggingConfiguration>
...