MST.Nlog
1.0.4
dotnet add package MST.Nlog --version 1.0.4
NuGet\Install-Package MST.Nlog -Version 1.0.4
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="MST.Nlog" Version="1.0.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MST.Nlog" Version="1.0.4" />
<PackageReference Include="MST.Nlog" />
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 MST.Nlog --version 1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MST.Nlog, 1.0.4"
#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 MST.Nlog@1.0.4
#: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=MST.Nlog&version=1.0.4
#tool nuget:?package=MST.Nlog&version=1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Install package
Install-Package MST.Nlog -Version 1.0.0
Program.cs
builder.Services.AddTransient(typeof(Mst.ILogger<>),
typeof(Mst.Nlog.NLogAdapter<>));
Insert Log In Database
public class LogEntry
{
public int Id { get; set; } // Primary Key
public DateTime LogDate { get; set; }
public string Level { get; set; }
public string Logger { get; set; }
public string Message { get; set; }
public string Exception { get; set; }
}
Add file nlog.config
<?xml version="1.0" encoding="utf-8" ?>
<nlog
xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xsi:schemaLocation="NLog NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
internalLogFile="C:\Users\mehran\source\repos\LogNet\LogNet\wwwroot\logs\logsNLog.log"
internalLogLevel="Trace"
>
<targets>
<target xsi:type="Database" name="database"
connectionString="Server=DESKTOP-AAOIHBN;Database=Test10Db;Trusted_Connection=True;MultipleActiveResultSets=true"
commandText="INSERT INTO LogEntries (LogDate, Level, Logger, Message, Exception) VALUES (@log_date, @level, @logger, @message, @exception)">
<parameter name="@log_date" layout="${longdate}" />
<parameter name="@level" layout="${level:uppercase=true}" />
<parameter name="@logger" layout="${logger}" />
<parameter name="@message" layout="${message}" />
<parameter name="@exception" layout="${exception:format=tostring}" />
</target>
<target xsi:type="File" name="LogFatalToFile"
fileName="C:\Users\mehran\source\repos\LogNet\LogNet\wwwroot\logs\logsFatalMessages.log"
layout="${longdate}|${level:uppercase=true}|${logger}|${message}|${all-event-properties} ${exception:format=tostring}"
keepFileOpen="true"
archiveEvery="Minute"
archiveNumbering="DateAndSequence"
/>
<target xsi:type="File" name="LogErrorToFile"
fileName="C:\Users\mehran\source\repos\LogNet\LogNet\wwwroot\logs\logsErrorMessages.log"
layout="${longdate}|${level:uppercase=true}|${logger}|${message}|${all-event-properties} ${exception:format=tostring}"
/>
<target xsi:type="File" name="LogWarningToFile"
fileName="C:\Users\mehran\source\repos\LogNet\LogNet\wwwroot\logs\logsWarningMessages.log"
layout="${longdate}|${level:uppercase=true}|${logger}|${message}|${all-event-properties} ${exception:format=tostring}"
/>
<target xsi:type="File" name="TempFile"
fileName="C:\Users\mehran\source\repos\LogNet\LogNet\wwwroot\logs\logsTemp.log"
layout="${longdate}|${level:uppercase=true}|${logger}|${message}|${all-event-properties} ${exception:format=tostring}"
/>
<target xsi:type="Console" name="LogToConsole"
layout="${longdate}|${level:uppercase=true}|${logger}|${message}|${all-event-properties} ${exception:format=tostring}"
/>
</targets>
<rules>
<logger name="Microsoft.*" maxlevel="Info" final="true" />
<logger name="*" minlevel="Fatal" maxlevel="Fatal" writeTo="LogFatalToFile" />
<logger name="*" level="Error" writeTo="LogErrorToFile" />
<logger name="*" level="Warn" writeTo="LogWarningToFile" />
<logger name="*" minlevel="Trace" maxlevel="Info" writeTo="LogToConsole" />
<logger name="Application.Program" minlevel="Trace" maxlevel="Fatal" writeTo="TempFile" />
<logger name="*" minlevel="Trace" writeTo="database" />
</rules>
</nlog>
###How use controller
using Microsoft.AspNetCore.Mvc;
using System.Collections;
namespace Log_Sample.Api.Controllers;
[Route("api/[controller]")]
[ApiController]
public class TestController : ControllerBase
{
public TestController(Mst.Logging.Logger.ILogger<TestController> logger)
{
Logger = logger;
}
protected Mst.Logging.Logger.ILogger<TestController> Logger { get; }
[HttpGet]
public IActionResult Get()
{
var innerException = new Exception(message: "Inner Exception Message (1)");
var exception = new Exception(message: "Exception Message (1)", innerException: innerException);
var hashtable = new Hashtable();
hashtable.Add(key: "Key1", value: "Value1");
hashtable.Add(key: "Key2", value: "Value2");
Logger.LogTrace(message: "Trace 1", parameters: hashtable);
Logger.LogDebug(message: "Debug 1", parameters: hashtable);
Logger.LogInformation(message: "Info 1", parameters: hashtable);
Logger.LogWarning(message: "Warn 1", parameters: hashtable);
Logger.LogError(exception, message: "Error 1", parameters: hashtable);
Logger.LogCritical(exception, message: "Critical 1", parameters: hashtable);
string message = "Hello, World!";
return Ok(value: message);
}
}
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
- MST.Logging (>= 1.0.2)
- NLog (>= 5.3.4)
- NLog.Database (>= 5.3.4)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on MST.Nlog:
Package | Downloads |
---|---|
MST.ActivityLog
Mehran Sattari Framework |
GitHub repositories
This package is not used by any popular GitHub repositories.
Nlog