نحوه‌ی بایگانی گزارش های NLog به همراه ASP.NET Core

نحوه‌ی بایگانی گزارش های NLog به همراه ASP.NET Core در این مقاله، نحوه‌ی بایگانی گزارش های NLog به همراه ASP.NET Core را خواهیم آموخت.

اغلب اوقات، گزارش‌ها را در فایل‌ها ذخیره می‌کنیم، و باید آن‌ها را بایگانی کنیم تا بتوانیم راحت‌تر آن‌ها را مدیریت کنیم. بیایید نگاهی به نحوه‌ی استفاده از NLog برای بایگانی فایل‌های گزارش بیندازیم.

گزارش های 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" };  
} 

حال، جهت مشاهده ی نتایج، تاریخ کامپیوتر را تغییر دهید.

گزارش های NLog

Source Code (کد منبع)

خلاصه

این مقاله پیکربندی پایه جهت بایگانی فایل‌های گزارش با استفاده از NLog را معرفی کرد.امیدوارم بتواند کمکی برای شما باشد.

  • پسورد: www.mspsoft.com
زهره سلطانیان

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.