2017-04-12 5 views
0

WebJob을 실험하고 있습니다. 나는 여기에 비주얼 스튜디오 2015에서 새로운 WebJob 프로젝트를 생성 한 코드입니다로깅을 제어하려면 Azure WebJob Configuration입니까?

public class Program 
{ 
    // Please set the following connection strings in app.config for this WebJob to run: 
    // AzureWebJobsDashboard and AzureWebJobsStorage 
    public static void Main() 
    { 
     JobHostConfiguration config = new JobHostConfiguration(); 
     config.Tracing.ConsoleLevel = TraceLevel.Info; 

     Environment.SetEnvironmentVariable("AzureWebJobsEnv", "Development"); 

     if(config.IsDevelopment) 
     { 
      config.UseDevelopmentSettings(); 
     } 

     config.UseTimers(); 

     JobHost host = new JobHost(config); 
     host.RunAndBlock(); 
    } 
} 

public class Functions 
{ 
    public static void GetMarketData([TimerTrigger("00:00:01")] TimerInfo timer, TextWriter log) 
    { 
     //log.WriteLine($"Market data retrieved at {DateTime.Now.ToString("yyMMdd HH:mm:ss")}"); 
    } 
} 

당신은 내가 함수가 1 초마다 호출 될 수 있도록 타이머 확장을 사용하고 볼 수 있듯이.

로컬로 실행하면 (그리고 Azure에서도 가정 함)이 함수에서 log.WriteLine을 주석 처리했지만 생성 한 저장소 계정에 로그가 생성됩니다. 빈 텍스트를 표시하는 파일이있는 출력 로그가 있으며 기능에 대한 정보가있는 호스트 로그가 있습니다.

매초마다 각 로그 중 하나가 있다고 가정 해보십시오. 로그가 기록되지 않도록하려면 어떻게해야합니까?

답변

2

로깅을 비활성화하려면 다음 예와 같이 대시 보드 연결 문자열을 null로 설정하십시오.

var config = new JobHostConfiguration(); 

config.DashboardConnectionString = ""; 
config.UseTimers(); 

var host = new JobHost(config); 
host.RunAndBlock(); 
+0

감사합니다. 이로 인해 앱 로그가 기록되지 않았습니다. 내가보기에 로깅을 추가하고 싶다면 블롭에 수동으로 작성해야한다고 가정합니다. – Apollonas