Serilog.Expressions – Nuget
Serilog.Expressions
NuGet paketi, Serilog ile loglama yaparken log filtrelemelerini ve veri manipülasyonlarını daha güçlü ve esnek hale getirmek için kullanılan bir kütüphanedir. Bu paket, log mesajlarının içeriğine dayalı olarak dinamik kurallar tanımlayarak loglama işlemlerine daha fazla kontrol imkanı sağlar. Serilog.Expressions, Serilog’un geleneksel yapılandırmasına ek olarak bir ifade dilini (expression language) destekler.
Başlıca özellikleri şunlardır:
- Dinamik Filtreleme: Log mesajlarını içeriklerine göre filtrelemek için esnek ifadeler yazmanızı sağlar. Örneğin, bir log mesajında belirli bir alanın belirli bir değeri içermesi durumunda sadece o logları kaydetmek gibi işlemler yapılabilir.
logger.Filter.ByExpression("Properties.Level = 'Error'");
Bu örnekte, sadece hata seviyesindeki loglar kaydedilir.
- Koşullu Loglama: Loglama işlemlerini belirli koşullara bağlayabilirsiniz. Örneğin, bir log sadece belirli bir kullanıcı adı içeriyorsa kaydedilsin gibi koşullar eklenebilir.
- Veri Dönüştürme: Log verileri üzerinde işlem yaparak, kaydetmeden önce veriyi değiştirebilir ya da maskeleyebilirsiniz. Örneğin, log içindeki hassas bilgileri maskelerseniz:
logger.Filter.ByExpression("Message contains 'password' ? '***' : Message");
- Gelişmiş Sorgular: Log verilerini dinamik olarak sorgulamak ve düzenlemek için Serilog içinde bir sorgu dili sunar. Bu, log mesajlarının belirli alanlarına göre filtreleme yapmayı kolaylaştırır (örneğin, JSON alanları üzerinde işlem yapma).
Ne Zaman Kullanılır?
- Detaylı Loglama: Log seviyelerine göre veya log mesajlarındaki içeriğe göre ayrıntılı kontrol gerektiren durumlarda kullanışlıdır.
- Hassas Verilerin Yönetimi: Örneğin, loglarda kişisel verileri veya hassas bilgileri maskelemek için kullanılabilir.
- Dinamik Loglama: Statik filtreleme yerine daha dinamik, içerik tabanlı loglama ihtiyaçlarınız olduğunda idealdir.
Bu paket, büyük veya karmaşık uygulamalarda loglama işlemlerine esneklik katar ve uygulamanızın loglarını daha detaylı ve etkili bir şekilde yönetmenize yardımcı olur.