.Net 8 Serilog and Seq with docker
Merhaba bu yazımızda .Net 8 ile geliştirdiğimiz projemizde ve docker üzerinde çalışan projemizde Serilog entegrasyonu yapacağız. Serilog…
.Net 8 Serilog and Seq with docker
Merhaba bu yazımızda .Net 8 ile geliştirdiğimiz projemizde ve docker üzerinde çalışan projemizde Serilog entegrasyonu yapacağız. Serilog ile örneklerimizde error ve information loglarımızı tek panel uzerinden görüp inceleyebileceğiz. UI için seq kullanacağız. seq bize serilog üzerinde tuttuğumuz logları görsel bir panel üzerinden incelememizi ve filtrelememizi sağlayacaktır. İlk önce docker üzerinde bir seq containeri run etmemiz gerekiyor. İmage için https://hub.docker.com/r/datalust/seq bu adresi inceleyebilirsiniz. Microservice projelerimiz için bir services compose yml dosyası ile seq container’ı oluşturabiliriz.

Docker seq
Seq container’ının 80 portunu port forward ile 5342 portunda dışarıya erişim veriyoruz. http://localhost:5342 girdikten sonra seq uı’larına erişimizi sağlayabileceğiz.
SEQ_FIRSTRUN_ADMINPASSWORDHASH değeri default admin kullanıcısının parolasını tanımlamak için kullanılır. Bu parolayı oluşturmak için $(echo ‘<password>’ | docker run — rm -i datalust/seq config hash) komutunu terminal üzerinde çalıştırabilirsiniz.

SEQ UI
Görselde serilog ile logladığımız loglarımızı seq uı üzerinde tek ekranda görebilir veya filtrelebiliriz.
.Net 8 Entegrasyonu
Projemize öncelikle aşşağıdaki paketlerin kurulumunu yapacağız. dotnet add package Serilog.AspNetCore dotnet add package Serilog.Sinks.Seq
İlk configurasyonumuzu program.cs dosyamızın Main methodunda yapacağız.

Serilog and seq Main method program.cs
Filter.ByExcluding methodu ile istenilen hataların serilog üzerine atılmaması için ignore edebiliriz. WriteTo.Seq methodlu ile seq containerimizin host adresini vereceğiz. Serilog Seq’in apilerini kullanarak loglarımızın seq üzerine kayıt işlemini yapacaktır. Buraya http://xxx-seq-host:5341 adresini yazabilirsiniz. Unutmayın aynı network üzerinde çalışarak farklı container’lar birbirine erişebilir. Diğer ayarlar için https://serilog.net/ adresinden inceleyebilirsiniz.

Serilog CreateHostBuilder method program.cs
ConfigureLogging methodunun ClearProviders methodu loglama sağlayıcılarını temizler, yani uygulama sadece bu kod çalıştırıldığında başka bir loglama sağlayıcısı eklenmedikçe hiçbir yere log yazmayacaktır.
UseSerilog methodu ile loglama alt yapısı olarak .Net altyapısına serilogu ekler ve ILogger sınıfının inject edildiği durumda loglar serilog üzerine yazılır.
Bu ayları yaptıktan sonra artık Microsoft.Extensions.Logging kütüphanesindeki ILogger interfacesini inject ettiğimizde artık loglar serilog üzerine yazılacaktır.

Example Serilog Controller
Yukarıdaki örnekte ILogger inject edildikten sonra LogInformation ve LogError methodları ile loglarımızı serilog üzerine yazıyoruz. Bu loglarıda serilog paneli üzerinden kolaylıkla inceleyebilirsiniz.
Happy Coding :)
메타데이터
- post_id
- 2ac8b1fe1db7
- slug
- net-8-serilog-and-seq-with-docker-2ac8b1fe1db7
- url
- https://medium.com/@kadirguloglu1/net-8-serilog-and-seq-with-docker-2ac8b1fe1db7
- canonical_url
- https://medium.com/@kadirguloglu1/net-8-serilog-and-seq-with-docker-2ac8b1fe1db7
- author_url
- https://medium.com/@kadirguloglu1
- status
- ok
- fetched_at
- 2026-06-27 18:20:27