2011-09-08 64 views
2

我在使用企業庫5.0日誌記錄時遇到不穩定的日誌記錄。Microsoft企業庫5.0日誌記錄只發生在幾個WCF方法調用

問題是在負載平衡配置中,在Windows 2008 R2服務器上運行的IIS(7.5)中承載的WCF 4.0應用程序。我正在使用Unity(2.0)進行依賴注入。我已將庫配置爲登錄到滾動文本文件。該應用程序使用AppFabricCache。

看起來,在重新啓動承載服務的Web應用程序後的前幾次調用中,日誌成功。此後,沒有看到進一步的記錄。 我在配置中發生了錯誤,或者在寫入/刷新輸出到文本文件時可能會有一些爭用。我知道Logging類以線程安全的方式運行。

下面是配置文件的相關部分。 任何想法讚賞。謝謝。

<loggingConfiguration name="loggingConfiguration" tracingEnabled="true" defaultCategory="General"> 
    <listeners> 
     <add name="Rolling File Trace Listener" 
      type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      fileName="d:\SOMEPATH\Logs\trace.log" 
      formatter="Text Formatter" 
      header="" footer="" 
      timeStampPattern="yyyy-MM-dd hh:mm:ss.fff" 
      traceOutputOptions="None" 
      maxArchivedFiles="2000" 
      rollFileExistsBehavior="Increment" rollInterval="Day" rollSizeKB="1024" /> 
    </listeners> 
    <formatters> 
     <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
     template="{timestamp(yyyyMMdd HH:mm:ss.fff)} - {message}" 
     name="Text Formatter" /> 
    </formatters> 
    <categorySources> 
     <add switchValue="All" name="General"> 
     <listeners> 
      <add name="Rolling File Trace Listener" /> 
     </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="Rolling File Trace Listener" /> 
     </listeners> 
     </errors> 
    </specialSources> 
    </loggingConfiguration> 

回答

0

感謝Turzo,我重新配置爲將錯誤記錄到平面文件。那時我能夠看到錯誤消息的詳細信息。部分錯誤消息是拒絕訪問。部分與文件路徑未找到/格式不正確有關。事實證明,TimeStampPattern被錯誤地指定,因爲它不會生成接受的文件名格式。我將其更改爲:timeStampPattern =「yyyyMMdd_hhmm」,現在生成了滾動文件。

2

有一件事你應該做的是改變errorsspecialSource不使用滾動文件的跟蹤監聽器。它應該使用另一個聽衆,如FlatFileTraceListenerEventLogTraceListener

我的猜測是發生錯誤的是寫入日誌條目(可能是試圖滾動的權限問題)。但是在日誌中沒有看到任何內容,因爲錯誤源被設置爲使用相同的偵聽器,因此錯誤的記錄也會失敗。

+0

感謝您的指導。你是對的。翻身時存在權限問題。根據您的建議,我調整了配置文件以將錯誤寫入平面文件。即使我給日誌文件夾上的所有域用戶完全權限,也存在問題。我想知道是否有一些文件鎖定問題導致問題。錯誤如下:at(FileIOPermissionAccess訪問,AccessControlActions控制,String [] pathListOrig,布爾checkForDuplicates,布爾needFullPath,布爾copyPathList)在System.Security.Permissions.FileIOPermission..ctor –

相關問題