1

MSEL 5は私たちにとって魅力のように機能してきましたが、最近、追加の「categorySources」を構成しようとしましたが、結果は常に同じです。ログエントリは常に「defaultCategory」を使用して作成され、次のエラーがログファイルに記録されます。「メッセージ:カテゴリ「AppLogGen」の明示的なマッピングはありません。ログエントリは次のとおりです。」

web.configの「loggingConfiguration」エントリ

  <loggingConfiguration name="" tracingEnabled="true" defaultCategory="AppLog">
<listeners>
  <add name="Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="c:\LoggingTrace\trace.log" formatter="Text Formatter"
    rollFileExistsBehavior="Increment" rollInterval="Midnight" rollSizeKB="10000"
    timeStampPattern="dd-MM-yyyy" traceOutputOptions="None" filter="All" />
  <add name="Flat File Trace Listener Login" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    fileName="c:\LoggingTrace\traceLogin.log" formatter="Text Formatter Login"
    rollFileExistsBehavior="Increment" rollInterval="Midnight" rollSizeKB="10000"
    timeStampPattern="dd-MM-yyyy" traceOutputOptions="None" filter="All" />
</listeners>
<formatters>
  <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    template="Format 1:: Timestamp: {timestamp(local)}{newline}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;"
    name="Text Formatter" />
  <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    template="Format 2:: Timestamp: {timestamp(local)}{newline}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;"
    name="Text Formatter Login" />
</formatters>
<categorySources>
  <add switchValue="All" name="InfinityWeb">
    <listeners>
      <add name="Flat File Trace Listener" />
    </listeners>
  </add>
  <add switchValue="All" name="AppLog">
    <listeners>
      <add name="Flat File Trace Listener Login" />
    </listeners>
  </add>
  <add switchValue="All" name="AppLogGen">
    <listeners>
      <add name="Flat File Trace Listener Login" />
    </listeners>
  </add>
</categorySources>
<specialSources>
  <allEvents switchValue="All" name="All Events" />
  <notProcessed switchValue="All" name="Unprocessed Category" />
  <errors switchValue="All" name="Logging Errors &amp; Warnings">
    <listeners>
      <add name="Flat File Trace Listener" />
    </listeners>
  </errors>
</specialSources>

コード、ログファイルへの書き込み

            //logWriter.Write(message, category, priority, eventId, (TraceEventType)severity, DefaultTitle, null);
        LogEntry logEntry = new LogEntry();
        logEntry.Categories.Add("AppLogGen");
        logEntry.Message = "Override " + message;

        logWriter.Write(logEntry);

ログファイルの出力

Timestamp: 9/6/2012 1:15:23 PM

メッセージ:カテゴリ「AppLogGen」の明示的なマッピングはありません。ログエントリは次のとおりです。

タイムスタンプ:2012年9月6日7:45:23 AM

メッセージ:UserId:Adminのログインのオーバーライドに成功しました

カテゴリ:AppLogGen

重大度:情報カテゴリ:AppLog。。。拡張プロパティ:

私が何をするかに関係なく、ロギングは常に「defaultCategory」で指定されたカテゴリソースを使用します。すでにこれに2日を費やしました。ヘルプ!

4

1 に答える 1