2012-06-23 3 views
4

내 azure 프로젝트를 SDK 버전 1.7로 업그레이드하면 로그가 저장소로 전송되는 것을 중지합니다. 나는 이것을 몇 시간 동안보고 있었고 무엇이 바뀌 었는지 볼 수 없다.Azure 로깅 1.7 SDK

나는 위치 문제를 돕기 위해 신선한 눈이 필요하다고 생각합니다. 여기에 뭐가 잘못 보이니? 설치가 1.7SDK에서 변경 되었습니까?

의 Web.config

<system.diagnostics xdt:Transform="Insert"> 
    <trace> 
     <listeners> 
     <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics"> 
      <filter type="" /> 
     </add> 
     </listeners> 
    </trace> 
    </system.diagnostics> 

서비스 정의

<Imports> 
    <Import moduleName="Diagnostics" /> 
</Imports> 

CloudConfig

<ConfigurationSettings> 
     <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" 
       value="DefaultEndpointsProtocol=https;AccountName=[account];AccountKey=[key]" /> 
</ConfigurationSettings> 

ONSTART

var config = DiagnosticMonitor.GetDefaultInitialConfiguration(); 

//event log 
config.WindowsEventLog.DataSources.Add("System!*"); 
config.WindowsEventLog.DataSources.Add("Application!*"); 
config.WindowsEventLog.ScheduledTransferPeriod = TimeSpan.FromMinutes(5); 
config.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Warning; 


config.Logs.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(5); 
config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Information; 
DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config); 

return base.OnStart(); 

답변

8

문제는 당신의 Web.config와 함께, 당신은 1.7.0.0에 어셈블리 버전을 업데이트해야합니다

Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, 버전 = 1.7.0.0, 문화 = 중립, PublicKeyToken = 31bf3856ad364e35

+0

감사합니다. 분명히 뭔가 빠져 있어야한다는 것을 알고있었습니다. – Joe

+0

배포에 WCF 서비스가있는 경우 WAIISHost.exe.config도 변경해야한다는 점을 기억하십시오. 이 구성은 배포를 업그레이드 할 때 업그레이드되지 않습니다! – 321X

+0

많은 감사. 나는이 문제도 가지고 있었고 그것은 나를 미친 듯이 몰아 넣었다. 나는 결코 그것을 스스로 알아 내지 못했을 것입니다. 내가 너를 여러 번 upvote 수 있다면, 나는 것! – Dogmang

0

@Sandrino 제안을 따라야합니다. 또한 일부 코드 문제도 참조해야합니다. SetCurrentConfiguration()을 GetDefaultInitialConfiguration()과 함께 사용하지 않아 전송 시간과 로그 수준을 최종 저장합니다. 당신은 다음과 같이 이러한 API의 집합을 사용해야합니다 : 당신이 너무 좋은이 완료이 코드를 가지고 응용 프로그램에서 추적 메시지를 수집하기 시작하면

GetDefaultInitialConfiguration() 
SetCurrentConfiguration() 

또는

GetCurrentConfiguration() 
SetCurrentConfiguration() 

이것은 problem을 일으킬 수를 ..

+0

내'DiagnosticMonitor.Start ("...", config);가 아닌가요? 지금처럼 작동하는 것 같습니다. – Joe

관련 문제