Blazor

Blazor'da Serilog ile loglama: Server ve WebAssembly farkları

Serilog'un Blazor Server ve Blazor WebAssembly uygulamalarına nasıl entegre edileceğini anlatan bir başlangıç rehberi. Server tarafında dosya ve konsol sink'leri, WebAssembly tarafında ise tarayıcı konsolu ve uzak API tabanlı loglama yaklaşımları ele alınıyor. Hangi yöntemin hangi mimariye uyduğunu görmek isteyen Blazor geliştiricileri için faydalı.

Telerik Blogs (Progress) Claudio Bernasconi
Yayın tarihi
Okuma süresi
7 dk okuma
agent çalıştırması #14
agent çalıştırması #14
Orijinale git telerik.com

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • Serilog.AspNetCore paketi Blazor Server projesine eklenir ve AddSerilog ile yapılandırılır.
  • Günlük dosyası adına tarih eklemek için RollingInterval.Day kullanılarak dosyalar günlük bölünür.
  • Ayarlar appsettings.json üzerinden okunabilir; böylece log seviyesi ve sink'ler kod değiştirmeden değişir.
  • Blazor WebAssembly istemcisinde Serilog.AspNetCore kullanılamaz; Serilog.Sinks.BrowserConsole gibi bir sink tercih edilir.
  • Üretimde kullanıcı loglarını toplamak için bir API endpoint'i ya da Seq gibi uzak bir servis gerekir.

Yazı, Blazor uygulamalarında Serilog kullanımına giriş niteliğinde. Blazor Server projesinde Serilog.AspNetCore paketi ile AddSerilog çağrısı yapılarak konsol ve günlük bazında dönen dosya sink'lerine yazım sağlanıyor; ayarlar appsettings.json üzerinden de yönetilebiliyor. Bileşenlerde ILogger<T> enjekte edilerek olaylar kaydedilebiliyor.

Blazor WebAssembly tarafında Serilog.AspNetCore istemci projesinde kullanılamaz, çünkü ASP.NET Core paylaşımlı çalışma zamanına bağımlıdır. Bunun yerine Serilog.Sinks.BrowserConsole ile tarayıcı konsoluna yazmak ya da logları bir API üzerinden Seq veya HTTP sink'i gibi uzak bir servise göndermek mümkün. Mimari farkların ne anlama geldiğini bilmek, üretim ortamında doğru loglama stratejisini seçmek için önemli.

Gerçek dünyada kullanımı

  • Blazor Server uygulamasında hataları ve kullanıcı işlemlerini günlük dosyalarında takip etmek.
  • Blazor WebAssembly uygulamasını yerel geliştirmede tarayıcı konsolundan hata ayıklamak.
  • Canlı kullanıcılardan gelen istemci hatalarını bir ASP.NET Core endpoint'i üzerinden merkezi bir loglama servisine taşımak.

Neden önemli

Blazor'un hosting modeline göre loglama yapılandırması değişir; WebAssembly'de sunucu tarafı Serilog paketini istemciye eklemek çalışmaz. Üretimde kullanıcı kaynaklı hataları izlemek için uzak bir log hedefi planlamak gerekir.

Bu özet, Telerik Blogs (Progress) üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü