2014-02-06 41 views
0

我有一個ASP.Net MVC 5應用程序,它使用Ent Lib 6日誌應用程序塊。企業庫日誌記錄塊 - 鎖定文件和FTP無法下載它

詳情:

  • 我的網站託管共享託管服務器上。
  • 我們使用Filezilla(FTP客戶端)發佈和下載文件/日誌。
  • 日誌文件在服務器上創建

問題:

當我嘗試下載日誌文件使用FTP我收到錯誤消息:「550,因爲它是該進程無法訪問該文件形成服務器被另一個進程使用。「

enter image description here

這是我的web.config的樣子

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections>  
    <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /> 
    </configSections> 
    <appSettings> 
    ..... 
    </appSettings> 
    <loggingConfiguration name="" tracingEnabled="true" defaultCategory="General"> 
    <listeners> 
     <add name="Rolling Flat File Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      fileName="C:\ServerPath\Log\Log.txt" footer="" formatter="Text Formatter" header="" 
      rollFileExistsBehavior="Increment" rollInterval="Day" timeStampPattern="dd-MM-yyyy" 
      asynchronous="false" /> 
    </listeners> 
    <formatters> 
     <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      template="{timestamp(local:M/dd/yyyy HH:mm:ss.fff)} ({win32ThreadId}) ({severity}) {message}" name="Text Formatter" /> 
    </formatters> 
    <categorySources> 
     <add switchValue="All" name="General"> 
     <listeners> 
      <add name="Rolling Flat 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 Flat File Trace Listener" /> 
     </listeners> 
     </errors> 
    </specialSources> 
    </loggingConfiguration> 
    ..... 
</configuration> 

至於如果我改變我的web.config(在服務器上)文件鎖被釋放預期,那麼我可以下載它,或者如果我等待足夠長的時間,然後鎖定被釋放。但是,這當然沒有一個是可以接受的。那麼是否有可能從服務器實時獲取日誌?其他選項可能是使用其他日誌庫。

回答

0

如果你偶然發現這個問題,這就是我所觀察到的。

所以掙扎了幾天後,我得出的結論,即是要解決這一點,除非我有第二個網址,我可以公開我的日誌文件瀏覽器直通不容易的或直接的方式。這很有效,但它確實具有相關的安全風險,因爲具有該URL的任何人都可以查看日誌內容。

另一個解決辦法是讓您的服務提供商提供的服務器進行遠程訪問,這是更安全的做法。

相關問題