SPLog 1.0.1
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package SPLog --version 1.0.1
NuGet\Install-Package SPLog -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SPLog" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SPLog" Version="1.0.1" />
<PackageReference Include="SPLog" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SPLog --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SPLog, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SPLog@1.0.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SPLog&version=1.0.1
#tool nuget:?package=SPLog&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
SPLog
SPLog is a lightweight logging DLL focused on performance, simplicity, and practical file logging for .NET applications.
GitHub repository: https://github.com/cku3987/SPLog
Why SPLog
- Simple API
- Fast enough for high-volume application logging
- File logging and console logging out of the box
- External JSON configuration support
- Exception logging support
- Daily and hourly rolling
AppendandCreateNewfile conflict handling
Quick Start
using SPLog;
using var logger = SPLogFactory.Create(options =>
{
options.Name = "Core";
options.EnableConsole = true;
options.EnableFile = true;
options.FilePath = "logs";
});
logger.Information("application started");
logger.Warning("response delay detected");
try
{
RunProcess();
}
catch (Exception ex)
{
logger.Error(ex, "process failed");
}
External Configuration
using var logger = SPLogFactory.CreateFromJsonFile("config/splog.core.json");
Example JSON:
{
"Name": "Core",
"MinimumLevel": "Information",
"EnableConsole": false,
"EnableFile": true,
"FilePath": "logs",
"FileConflictMode": "Append",
"FileRollingMode": "Hourly",
"MaxFileSizeBytes": 52428800,
"MaxRollingFiles": 500,
"QueueCapacity": 8192,
"BatchSize": 10,
"FlushIntervalMs": 100,
"FileBufferSize": 65536,
"BlockWhenQueueFull": true
}
File Naming Behavior
FilePath = "logs"creates<Name>.logautomatically- Relative paths are resolved from
AppContext.BaseDirectory - Absolute paths are used as-is
Examples:
Daily + Append→Core_20260331.logDaily + CreateNew→Core_20260331.log, thenCore_20260331_001.logHourly + CreateNew→Core_20260331_13.log, thenCore_20260331_13_001.log
Validation Projects
This repository also includes validation helpers:
SPLog.TestsDeterministic correctness checksSPLog.StressRunnerStress, smoke, and long-run validation
Recommended commands:
dotnet build SPLog.sln -c Release -m:1
dotnet run --project SPLog.Tests\SPLog.Tests.csproj -c Release --no-build
dotnet run --project SPLog.StressRunner\SPLog.StressRunner.csproj -c Release -- --config codex\SPLog-StressRunner.sample.json
Documentation
- English guide:
docs/SPLog-Guide-EN.html - Korean guide:
docs/SPLog-Guide-KO.html - Validation guide:
codex/SPLog-Validation-Guide-EN.md
Project Link
- GitHub: https://github.com/cku3987/SPLog
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.