2013-03-14 15 views
2

拼命尋求解決方案來讓log4net在Azure Worker角色中工作。慢慢地駕駛我c-razy。Log4Net爲什麼不能在帶有表存儲的Azure上工作?

我已經按照概述了這個博客http://blog.tylerdoerksen.com/2012/04/17/logging-in-azure-part-2table-storage(感謝),這似乎是有道理的和log4net的日誌記錄的工作原理是在以下條件下的夢想步驟:

  1. 運行在模擬器輔助角色本地和堅持日誌到本地存儲
  2. 運行在模擬器輔助角色本地和持續的日誌發送給遠程分期Azure的表存儲

當我部署的Worker角色服務到Azure將其記錄在LogEntities表中沒有任何內容。這是一點點,這一點令人難以置信的令人沮喪。

我已經打開的輔助角色的app.config log4net的調試,我看到下面的痕跡在WADLogsTable

log4net的:完成附加器名爲[TableStorageAppender。

就是這樣。沒有其他log4net調試信息,我通常會看到自從將

<appSettings> 
    <add key="log4net.Internal.Debug" value="true"/> 
</appSettings> 

添加到我的工作角色app.config。

我在Worker角色覆蓋運行方式配置log4net的:

public override void Run() 
{ 
     try 
     { 

      XmlConfigurator.Configure(); 
      ILog Logger = LogManager.GetLogger(GetType()); 
      Trace.WriteLine("Trace: CheckInService.Run()"); 
      Logger.Info("log4net: CheckInService.Run()"); 
      //open the Service and do some other stuff etc 
      while (true) 
      { 
       Thread.Sleep(1800000); 
      } 
     catch (Exception ex) 
     { 
      Trace.TraceError("There was a problem opening the CheckInService"); 
     } 
} 

這是我的全部的app.config

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    <section type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" name="log4net" /> 
    </configSections> 
    <appSettings> 
    <add key="log4net.Internal.Debug" value="true"/> 
    </appSettings> 
    <log4net> 
    <appender type="Cloud.Services.Logging.TableStorageAppender, Cloud.Services.Logging" name="TableStorageAppender"> 
    </appender> 
    <root> 
     <level value="All" /> 
     <appender-ref ref="TableStorageAppender" /> 
    </root> 
    </log4net> 
    <system.diagnostics> 
    <trace autoflush="true"> 
     <listeners> 
     <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
      name="AzureDiagnostics"> 
      <filter type="" /> 
     </add> 
     </listeners> 
    </trace> 
    </system.diagnostics> 
</configuration> 

日誌記錄的appender(TableStorageAppender)的實現是在它自己的大會(Cloud.Services.Logging),但我認爲這沒有什麼區別?

任何人有任何想法?

+0

你有沒有解決這個問題?我遇到同樣的問題 – Kesty 2015-01-12 09:35:02

回答

0

發佈到Azure時是否包含Cloud.Services.Logging程序集(CopyLocal = True)?

+0

您是否找到任何解決方案?我有同樣的問題.. – Gayatri 2013-04-16 14:26:19

相關問題