1

構成ファイルに、EntLib でログをオンまたはオフにできる設定がありますか。プログラムでこれを行う方法を示す投稿がありますが、構成ファイルを介して行うことに興味があります。

EntLib5 を使用しています。

ここに設定があります

 <loggingConfiguration name="" tracingEnabled="true" defaultCategory="General">
    <listeners>
        <add name="Event Log Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            source="Enterprise Library Logging" formatter="Text Formatter"
            log="" machineName="." traceOutputOptions="None" />
        <add name="Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            fileName="c:\\Log\\wclog.log" header=""
            formatter="Text Formatter" traceOutputOptions="DateTime, Timestamp" />
    </listeners>
    <formatters>
        <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            template="Timestamp:{timestamp}  Method: {title}, {category} {message}"
            name="Text Formatter" />
    </formatters>
    <categorySources>
        <add switchValue="All" name="General">
            <listeners>
                <add name="Flat File Trace Listener" />
            </listeners>
        </add>
    </categorySources>
    <specialSources>
        <allEvents switchValue="All" name="All Events">
            <listeners>
                <add name="Flat File Trace Listener" />
            </listeners>
        </allEvents>
        <notProcessed switchValue="All" name="Unprocessed Category">
            <listeners>
                <add name="Flat File Trace Listener" />
            </listeners>
        </notProcessed>
        <errors switchValue="All" name="Logging Errors &amp; Warnings">
            <listeners>
                <add name="Flat File Trace Listener" />
            </listeners>
        </errors>
    </specialSources>

よろしく。

4

3 に答える 3

5

ロギングを無効にするには、さまざまな方法があります。前述のように、カテゴリ スイッチの値を「オフ」に設定します。

<loggingConfiguration name="" tracingEnabled="true" defaultCategory="General">
    <listeners>
        <add name="Event Log Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            source="Enterprise Library Logging" formatter="Text Formatter"
            log="" machineName="." traceOutputOptions="None" />
        <add name="Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            fileName="c:\\Log\\wclog.log" header=""
            formatter="Text Formatter" traceOutputOptions="DateTime, Timestamp" />
    </listeners>
    <formatters>
        <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            template="Timestamp:{timestamp}  Method: {title}, {category} {message}"
            name="Text Formatter" />
    </formatters>
    <categorySources>
        <add switchValue="All" name="General">
            <listeners>
                <add name="Flat File Trace Listener" />
            </listeners>
        </add>
    </categorySources>
    <specialSources>
        <allEvents switchValue="All" name="All Events">
            <listeners>
                <add name="Flat File Trace Listener" />
            </listeners>
        </allEvents>
        <notProcessed switchValue="All" name="Unprocessed Category">
            <listeners>
                <add name="Flat File Trace Listener" />
            </listeners>
        </notProcessed>
        <errors switchValue="All" name="Logging Errors &amp; Warnings">
            <listeners>
                <add name="Flat File Trace Listener" />
            </listeners>
        </errors>
    </specialSources>

トレース リスナー自体のフィルター プロパティを「オフ」に設定することで、個々のトレース リスナーを無効にすることもできます。

ロギングをグローバルに無効にするおそらく最も簡単な方法は、Logging Enabled Filter を使用することです。

    <logFilters>
        <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Filters.LogEnabledFilter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
            enabled="false" name="Logging Enabled Filter" />
    </logFilters>

次に、「true」または「false」を設定して、ロギングを有効または無効にします。フィルターには、"ログ パイプライン" で最初に実行されるという利点もあるため、個々のトレース リスナーを "オフ" に設定するよりもパフォーマンスが向上するはずです。

于 2012-08-10T05:39:50.783 に答える
2

理想的ではありませんが、これが機能する簡単な方法です-リスナーをコメントアウトします:

<categorySources>
    <add switchValue="All" name="General">
        <listeners>
            <!-- <add name="Flat File Trace Listener" /> -->
        </listeners>
    </add>
</categorySources>
<specialSources>
    <allEvents switchValue="All" name="All Events">
        <listeners>
           <!--  <add name="Flat File Trace Listener" />  -->
        </listeners>
    </allEvents>
    <notProcessed switchValue="All" name="Unprocessed Category">
        <listeners>
           <!--  <add name="Flat File Trace Listener" />  -->
        </listeners>
    </notProcessed>
    <errors switchValue="All" name="Logging Errors &amp; Warnings">
        <listeners>
          <!--   <add name="Flat File Trace Listener" />  -->
        </listeners>
    </errors>
</specialSources>
于 2012-08-01T15:06:20.937 に答える
0

categorySources の switchValue を「オフ」に設定できます

于 2012-07-25T07:54:51.233 に答える