نحوهی بایگانی گزارش های NLog به همراه ASP.NET Core در این مقاله، نحوهی بایگانی گزارش های NLog به همراه ASP.NET Core را خواهیم آموخت.
اغلب اوقات، گزارشها را در فایلها ذخیره میکنیم، و باید آنها را بایگانی کنیم تا بتوانیم راحتتر آنها را مدیریت کنیم. بیایید نگاهی به نحوهی استفاده از NLog برای بایگانی فایلهای گزارش بیندازیم.
اگرقسمت اول آموزش های ما را نخوانده اید همواره می توانید در لینک زیر مشاهده کنید.
مرحله ۱
یک ASP.NET Core Web API Application جدید ایجاد کرده و NLog.Web.AspNetCore را از طریق NuGet نصب کنید.
Install-Package NLog.Web.AspNetCore
یک فایل nlog.config ایجاد کرده، و copy to bin folder را فعال کنید. ما فایلهای گزارش را تنها از طریق این فایل پیکربندی بایگانی میکنیم.
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" throwConfigExceptions="true">
<!-- the targets to write to -->
<targets>
<target xsi:type="File" name="archive" archiveEvery="Day" archiveFileName = "nlogdemo-{########}.log" archiveNumbering = "Date" archiveDateFormat = "yyyyMMdd" maxArchiveFiles = "4" fileName="nlogdemo.log" layout="${longdate}|${level:uppercase=true}|${logger}|${message}" />
</targets>
<!-- rules to map from logger name to target -->
<rules>
<!--All logs, including from Microsoft-->
<logger name="*" minlevel="Warn" writeTo="archive" />
</rules>
</nlog>
فقط حواستان به گزینههایی که حاوی بایگانی هستند باشد. پیکربندی فوق بدین معناست که ما یک فایل گزارش اصلی به نام nlogdemo.log داریم که گزارش امروز را ذخیره میکند.
گزارشها را بصورت روزانه بایگانی خواهد کرد و نام فایل گزارش بایگانی شده به فرمت nlogdemo-20180505.log خواهد بود. و حداکثر تعداد فایلهای گزارش بایگانی شده ۴ است که بدین معناست که تنها ۴ فایل اخیر را نگه خواهد داشت.
program.cs را بروزرسانی کنید تا بتوانید NLog را فراخوانی کنید.
namespace NLogDemo
{
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using NLog.Web;
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseNLog()
.Build();
}
}
تعدادی گزارش در کنترل کننده بنویسید.
private readonly ILogger _logger;
public ValuesController(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger<ValuesController>();
}
// GET api/values
[HttpGet]
public IEnumerable<string> Get()
{
_logger.LogDebug("debug");
_logger.LogError("error");
_logger.LogTrace("trace");
_logger.LogInformation("info");
_logger.LogWarning("warn");
_logger.LogCritical("critical");
return new string[] { "value1", "value2" };
}
حال، جهت مشاهده ی نتایج، تاریخ کامپیوتر را تغییر دهید.

Source Code (کد منبع)
خلاصه
این مقاله پیکربندی پایه جهت بایگانی فایلهای گزارش با استفاده از NLog را معرفی کرد.امیدوارم بتواند کمکی برای شما باشد.
برچسب:
نویسنده: دانلودی