VanDerHeijden.Logging.File
10.0.4
See the version list below for details.
dotnet add package VanDerHeijden.Logging.File --version 10.0.4
NuGet\Install-Package VanDerHeijden.Logging.File -Version 10.0.4
<PackageReference Include="VanDerHeijden.Logging.File" Version="10.0.4" />
<PackageVersion Include="VanDerHeijden.Logging.File" Version="10.0.4" />
<PackageReference Include="VanDerHeijden.Logging.File" />
paket add VanDerHeijden.Logging.File --version 10.0.4
#r "nuget: VanDerHeijden.Logging.File, 10.0.4"
#:package VanDerHeijden.Logging.File@10.0.4
#addin nuget:?package=VanDerHeijden.Logging.File&version=10.0.4
#tool nuget:?package=VanDerHeijden.Logging.File&version=10.0.4
VanDerHeijden.Logging.File
File log writer for VanDerHeijden.Logging.
Writes batched log entries to daily rotating text files using async file I/O with a 64 KB write buffer. A new file is opened automatically at midnight without restarting the application.
Installation
dotnet add package VanDerHeijden.Logging.File
Usage
builder.Logging.AddFileLogger(logDirectory: "Logs");
Log files are written to the Logs directory (relative to the working directory) as log-yyyyMMdd.txt.
Options
| Parameter | Default | Description |
|---|---|---|
logDirectory |
"Logs" |
Directory where log files are created |
batchSize |
200 | Maximum entries flushed per write |
maxIdleMs |
4000 | Maximum ms between flushes when batch is not full |
fullMode |
Wait |
Channel backpressure strategy |
Log format
2026-02-22 14:03:12.456 [Information] MyApp.Service: User logged in
Performance
Benchmarked with BenchmarkDotNet on .NET 10 (X64 RyuJIT AVX-512).
Each measurement is the mean time per WriteBatchAsync call, averaged over 2 000 consecutive calls.
| BatchSize | MessageLength | Mean | Allocated |
|---|---|---|---|
| 1 | 80 B | 27.9 µs | 477 B |
| 1 | 256 B | 25.2 µs | 477 B |
| 1 | 1 024 B | 22.1 µs | 476 B |
| 10 | 80 B | 24.2 µs | 476 B |
| 10 | 256 B | 26.6 µs | 477 B |
| 10 | 1 024 B | 36.8 µs | 477 B |
| 100 | 80 B | 39.1 µs | 477 B |
| 100 | 256 B | 53.9 µs | 476 B |
| 100 | 1 024 B | 144.0 µs | 756 B |
| 500 | 80 B | 105.5 µs | 477 B |
| 500 | 256 B | 160.5 µs | 757 B |
| 500 | 1 024 B | 704.5 µs | 2 436 B |
Key characteristics:
- Allocation is flat (~477 B) for batches up to 100 messages of any length — zero GC pressure in typical use.
- Per-call time is dominated by
FlushAsync(~22 µs) at small batch sizes; write volume becomes the cost at larger batches.
Hardware: Intel Core i5-1035G1 1.00 GHz, Windows 11, .NET 10.0.3
Repository
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.DependencyInjection (>= 10.0.3)
- Microsoft.Extensions.Logging (>= 10.0.3)
- VanDerHeijden.Logging (>= 10.0.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.