Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
Serilog Sinks: Console, File, Seq and OpenTelemetry — Async, Batching and Lost Logs
In a container, logs go to stdout as compact JSON; if you need files, set rolling and retention explicitly. Serilog 4's core batching and the async wrapper either drop events or hold the app when a sink is slow: 101 of 2,000 events arrived, or the loop took 2.4 seconds. SelfLog, going out to OTLP and per-sink levels.
Reading Structured Logs with Seq: Docker Setup, Queries, Signals and Alerts
We run Seq in Docker with a password and a separate ingestion port, and send logs through Serilog and OTLP with an Ingest-only API key. Filters, group by and percentile queries, logs and spans on the same TraceId, signals, alerts and signal-based retention, all with real results, including why 8 failures became 16 events and the ERROR level trap with OTLP.