2016-03-22 9 views
0

Bir sistemde azure web işlerini, daha sonra işlenmek üzere sıraya alınan bir web hizmeti aracılığıyla alınan gerçek zamanlı xml verilerini işlemek için kullanıyorum. Bazı webjob fonksiyonları oldukça yüksek bir frekansta (dakikada 100s) çağrılır. Sistemi ilk kez denediğimde, günlük kaydı iyi performans göstermiş gibi görünüyordu. Ancak, birkaç hafta sonra, büyük hacimli bir günlük verisi biriktikten sonra, güncellemeyi durduracak ve "süreçte indeksleme" yi sürekli olarak gösterecektir.Azure web işleri denetim masası günlüğü nasıl denetlenir ve korunur?

  1. Günlükleri nasıl temizlerim veya temizlerim?
  2. Sık güncelleştirilen işler için seçici olarak kaydetmeyi kapatabilir miyim? Bu nasıl başarılabilir?

Web işlerim süreklidir ve C# api'yi kullanın. Benim cevabım Azure webjobs output logs indexing taking very long ile aynı değil, aynı zamanda bu cevabı da ilgilendiriyor - özellikle günlükleri nasıl temizleyeceğimi soruyordum ve seçici olarak kaydetmeyi kapatıyordum.

Azure web jobs control panel logging

+0

[Azure webjobs çıkış kayıtlarının indekslenmesi çok uzun sürüyor] olası kopyası (http://stackoverflow.com/questions/31867532/azure-webjobs-output-logs-indexing-taking-very-long) – Peter

cevap

1
  1. Sen WebJob içinde AzureWebJobsStorage uygulama ayarı veya bağlantı dizesi yapılandırılmış olurdu. Günlükler bu depolama hesabının blob deposunda saklanır. Onları orada manuel olarak temizleyebilmelisiniz.

  2. Eğer Azure WebJobs SDK kullandığınızı varsayarsak, ayar bir uygulama için bir çek içindeki tüm yazıyor sarın bir özel kaydedicisi

    JobHostConfiguration config = new JobHostConfiguration(); 
    config.Tracing.Tracers.Add(new CustomTraceWriter(TraceLevel.Info)); 
    JobHost host = new JobHost(config); 
    host.RunAndBlock(); 
    

    CustomTraceWriter takabilirsiniz

if(CloudConfigurationManager.GetSetting("EnableWebJobLogging")) 
    { 
    .... 
    } 
+0

Teşekkür ederiz CustomTraceWriter yararlı olabilir. – user2486488

+0

Bazı araştırmalardan sonra sürüm notlarında aşağıdakileri keşfettim: https://github.com/Azure/azure-webjobs-sdk/wiki/Release-Notes#v111 - TraceLevel özniteliği, pano günlüğü ayrıntı düzeyini denetlemek için kullanılabilir Bir web iş fonksiyon seviyesi. Bu nedenle: [TraceLevel (System.Diagnostics.TraceLevel.Error)] işlevi bir işleve yalnızca Gösterge Tablosuna kaydedilecek Hatalar neden olur. Tam olarak aradığım şey bu. – user2486488

İlgili konular