3

エラーが発生しています。エラーの原因を理解できません。UI にも例外はありません。カテゴリ テーブルには値 (情報、例外、デバッグ、一般) があります。すべてのイベントが失敗したというエラーが発生すると、CategoryLog テーブルにレコードが入力されません。誰かがこのエラーを理解して修正するのを手伝ってくれませんか。

LogSource 'All Events' へのトレースに失敗しました。他のソースの処理は続行されます。
詳細については、以下の概要情報を参照してください。この問題が続く場合は、
サービスを停止し、カテゴリとシンクの構成にエラーがないか構成ファイルを確認してください。   
Enterprise Library Distributor Service の概要:
====================================== -->   
メッセージ: タイムスタンプ: 11/4/2014 9:35:46 PM  
メッセージ: 「いくつかのメッセージ」。

WebConfig:-

<listeners>
  <add name="DatabaseTraceListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.Database.FormattedDatabaseTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=6.0.0.0, Culture=neutral, PublicKeyToken=########"
      listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Database.Configuration.FormattedDatabaseTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=6.0.0.0, Culture=neutral, PublicKeyToken=#######"
      databaseInstanceName="LoggingDatabase" writeLogStoredProcName="WriteLog"
      addCategoryStoredProcName="AddCategory" 
      formatter="Text Formatter"
      traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack" />
</listeners>

<formatters>
  <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=#####"
      template="Timestamp: {timestamp}{newline}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;Priority: {priority}{newline}&#xA;EventId: {eventid}{newline}&#xA;Severity: {severity}{newline}&#xA;Title:{title}{newline}&#xA;Machine: {localMachine}{newline}&#xA;App Domain: {localAppDomain}{newline}&#xA;ProcessId: {localProcessId}{newline}&#xA;Process Name: {localProcessName}{newline}&#xA;Thread Name: {threadName}{newline}&#xA;Win32 ThreadId:{win32ThreadId}{newline}&#xA;Extended Properties: {dictionary({key} - {value}{newline})}"
      name="Text Formatter" />
</formatters>

<categorySources>
  <add switchValue="Error" name="Error">
    <listeners>
      <add name="DatabaseTraceListener" />
    </listeners>
  </add>
  <add switchValue="Information" name="Information">
    <listeners>
      <add name="DatabaseTraceListener" />
    </listeners>
  </add>
  <add switchValue="Warning" name="Warning">
    <listeners>
      <add name="DatabaseTraceListener" />
    </listeners>
  </add>
</categorySources>

<specialSources>
  <allEvents switchValue="All" name="All Events">
    <listeners>
      <add name="DatabaseTraceListener" />
    </listeners>
  </allEvents>
  <notProcessed switchValue="All" name="Unprocessed Category">
    <listeners>
      <add name="DatabaseTraceListener" />
    </listeners>
  </notProcessed>
  <errors switchValue="All" name="Logging Errors &amp; Warnings">
    <listeners>
      <add name="DatabaseTraceListener" />
    </listeners>
  </errors>
</specialSources>


ログテーブルのエラーレコードは次のようになります

LogID:  ######
EventID : 6352
Priority: -1
Severity: Error 
Title   : 
Timestamp:  2014-11-10 00:55:51.770

MachineName : ########

AppDomainName:  /LM/W3SVC/3/ROOT-######

ProcessID:  5272

ProcessName:    c:\windows\system32\inetsrv\w3wp.exe

ThreadName: NULL

Win32ThreadId:  8852

Message :Tracing to LogSource 'All Events' failed. Processing for other sources will continue. See summary information below for more information. Should this problem persist, stop the service and check the configuration file(s) for possible error(s) in the configuration of the categories and sinks.   Summary for Enterprise Library Distributor Service: 
====================================== -->   Message:   Timestamp: 

FormattedMessage :
4

2 に答える 2

0

この問題の解決策は、ユーザーが管理者としてログを書き込もうとすることです。UAC 設定を変更して、IIS ユーザーを管理者にすることもできます。

于 2015-07-03T09:18:24.590 に答える
0

データベースへのログ記録中にエラーが発生しました。しかし、エラーがログに記録されているように見えるため、完全に壊滅的ではないようです。これにより、無効な接続文字列などの一般的な原因が除外されます。

実際のエラーが何であるかを調べる必要があります。これを行うには、エラーの特別なソースをファイル (適切な権限のある場所) に記録するように変更します。そこで、フラット ファイル トレース リスナーを追加します。

<listeners>
    <add name="DatabaseTraceListener" type="Microsoft.Practices.EnterpriseLibrary.Logging.Database.FormattedDatabaseTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=6.0.0.0, Culture=neutral, PublicKeyToken=########"
      listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Database.Configuration.FormattedDatabaseTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging.Database, Version=6.0.0.0, Culture=neutral, PublicKeyToken=#######"
      databaseInstanceName="LoggingDatabase" writeLogStoredProcName="WriteLog"
      addCategoryStoredProcName="AddCategory" 
      formatter="Text Formatter"
      traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack" />
    <add name="Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        fileName="trace.log" />
</listeners>

次に、エラーの特別なソースを設定して、フラット ファイル トレース リスナーを使用します。

  <specialSources>
    <allEvents switchValue="All" name="All Events">
      <listeners>
        <add name="DatabaseTraceListener" />
      </listeners>
    </allEvents>
    <notProcessed switchValue="All" name="Unprocessed Category">
      <listeners>
        <add name="DatabaseTraceListener" />
      </listeners>
    </notProcessed>
    <errors switchValue="All" name="Logging Errors &amp; Warnings">
      <listeners>
        <add name="Flat File Trace Listener" />
      </listeners>
    </errors>
  </specialSources>

その設定で、うまくいけばエラーの完全な詳細が表示されるはずです。

于 2014-11-14T17:26:42.280 に答える