Soenneker.Utils.LogPath
4.0.140
Prefix Reserved
See the version list below for details.
dotnet add package Soenneker.Utils.LogPath --version 4.0.140
NuGet\Install-Package Soenneker.Utils.LogPath -Version 4.0.140
<PackageReference Include="Soenneker.Utils.LogPath" Version="4.0.140" />
<PackageVersion Include="Soenneker.Utils.LogPath" Version="4.0.140" />
<PackageReference Include="Soenneker.Utils.LogPath" />
paket add Soenneker.Utils.LogPath --version 4.0.140
#r "nuget: Soenneker.Utils.LogPath, 4.0.140"
#:package Soenneker.Utils.LogPath@4.0.140
#addin nuget:?package=Soenneker.Utils.LogPath&version=4.0.140
#tool nuget:?package=Soenneker.Utils.LogPath&version=4.0.140
Soenneker.Utils.LogPath
Chooses a writable log-file path for explicit, Azure App Service, GitHub Actions, container, and local application environments.
Installation
dotnet add package Soenneker.Utils.LogPath
Quick start
using Soenneker.Utils.LogPath;
Call the static LogPathUtil methods directly; no dependency-injection registration is required.
Usage
string logPath = await LogPathUtil.Get("application-.log", cancellationToken);
Log.Logger = new LoggerConfiguration()
.WriteTo.File(logPath, rollingInterval: RollingInterval.Day)
.CreateLogger();
Get returns a full path for the supplied file name. It does not create or open the log file.
Pass a file name rather than a rooted path or a path containing directory traversal segments.
Candidates are evaluated in this order:
LOG_PATH/<fileName>when theLOG_PATHenvironment variable is set.- Azure App Service's persistent
LogFilesdirectory. <GITHUB_WORKSPACE>/logsin GitHub Actions./var/log/appin another detected container.<AppContext.BaseDirectory>/logsas the fallback.
The explicit LOG_PATH override is returned as configured; the caller is responsible for making
sure that directory exists and is writable. For the environment-derived candidates, the utility
creates the directory and falls through when creation is denied or fails with an I/O error. The
final application-directory fallback can still throw if that location cannot be created.
Container detection is the asynchronous part of the operation and observes the cancellation token. Resolving a path does not guarantee a later file open will succeed because permissions or the filesystem can change afterward.
| 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
- Soenneker.Utils.Runtime (>= 4.0.1088)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Soenneker.Utils.LogPath:
| Package | Downloads |
|---|---|
|
Soenneker.Extensions.LoggerConfiguration
A set of useful Serilog LoggerConfiguration extension methods |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.154 | 0 | 9/13/2026 |
| 4.0.153 | 0 | 9/13/2026 |
| 4.0.152 | 7 | 9/12/2026 |
| 4.0.150 | 3,987 | 9/9/2026 |
| 4.0.149 | 1,791 | 9/9/2026 |
| 4.0.148 | 4,446 | 9/8/2026 |
| 4.0.147 | 1,268 | 9/8/2026 |
| 4.0.146 | 692 | 9/7/2026 |
| 4.0.145 | 344 | 9/7/2026 |
| 4.0.144 | 6,060 | 9/5/2026 |
| 4.0.143 | 5,876 | 9/4/2026 |
| 4.0.142 | 2,705 | 9/4/2026 |
| 4.0.141 | 1,318 | 9/4/2026 |
| 4.0.140 | 101 | 9/4/2026 |
| 4.0.139 | 1,487 | 9/3/2026 |
| 4.0.138 | 5,655 | 8/31/2026 |
| 4.0.137 | 1,142 | 8/31/2026 |
| 4.0.136 | 170 | 8/31/2026 |
| 4.0.135 | 1,334 | 8/31/2026 |
| 4.0.134 | 577 | 8/30/2026 |
Updated Multiple NuGet packages