JF91.SerilogWithLoki
1.3.0
See the version list below for details.
dotnet add package JF91.SerilogWithLoki --version 1.3.0
NuGet\Install-Package JF91.SerilogWithLoki -Version 1.3.0
<PackageReference Include="JF91.SerilogWithLoki" Version="1.3.0" />
paket add JF91.SerilogWithLoki --version 1.3.0
#r "nuget: JF91.SerilogWithLoki, 1.3.0"
// Install JF91.SerilogWithLoki as a Cake Addin #addin nuget:?package=JF91.SerilogWithLoki&version=1.3.0 // Install JF91.SerilogWithLoki as a Cake Tool #tool nuget:?package=JF91.SerilogWithLoki&version=1.3.0
Use this package to integrate Serilog into your ASP.Net Web API and to logs to Grafana Loki.
Notes:
1 - To view logs in console with color themes you need to run the project with HTTP or HTTPS Profile.
2 - This example is a very simple one straightforward to the point. You can add more settings to Serilog through appsettings.json
<br>
Follow these steps to get it done:
1: Install Nuget Package
dotnet add package JF91.SerilogWithLoki --version 1.3.0
<br>
2: Add this line in program.cs
after var builder = WebApplication.CreateBuilder(args);
SerilogExtensions.CreateLogger(builder.Configuration);
<br>
3: Add this line in program.cs
before var app = builder.Build();
builder.Host.ConfigureSerilog();
<br>
4: Replace Logger in appsettings.json
with this one:
4.1 Remove this:
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
4.2 Add this and feel free to customize it:
"Serilog": {
"MinimumLevel": {
"Default": "Debug"
}
}
<br>
5: Add this to your appsettings.json
and modify it your needs:
"SerilogSettings": {
"SerilogSinks": {
"Console": true,
"Loki": true
},
"LokiSettings": {
"Url": "http://localhost:3100",
"CustomLabels": [
"Label1",
"Label2"
]
}
}
<br>
6 - Add this Environment Variable to your launchSettings.json
:
"APPLICATION_NAME": "MyKickassApi"
How to use Serilog anywhere:
1: Inject ILogger in constructor:
public MyClass(ILogger<MyClass> logger)
{
_logger = logger;
}
2: Writing Logs:
public void MyMethod()
{
_logger.LogDebug("Debug Log");
_logger.LogTrace("Trace Log");
_logger.LogCritical("Critical Log");
_logger.LogError("Error Log");
_logger.LogWarning("Warning Log");
_logger.LogInformation("Information Log");
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
-
net7.0
- Serilog.AspNetCore (>= 7.0.0)
- Serilog.Enrichers.CorrelationId (>= 3.0.1)
- Serilog.Enrichers.Environment (>= 2.2.0)
- Serilog.Exceptions (>= 8.4.0)
- Serilog.Sinks.Async (>= 1.5.0)
- Serilog.Sinks.Console (>= 4.1.0)
- Serilog.Sinks.Grafana.Loki (>= 8.1.0)
- Serilog.Sinks.Http (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version 1.3.0:
Added Custom Labels to appsettings.json
Version 1.2.2:
# Added 'Account' Label
Version 1.2.0:
# Added SerilogSettings to appsettings.json
# Serilog sinks and Loki settings are now customizable