ํ๋ก์ ํธ ํ ํ๋ฆฟ์ด Web API, MVC ํ๋ก์ ํธ๋ ๋ญ๋ ์๊ด์๋ค.
1. Startup.cs ์ฝ๋ ์์
(1) Configure()์ ILoggerFactory ํ๋ผ๋ฏธํฐ ์ถ๊ฐ
(2) loggerFactory path ์ค์
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
var _path = Directory.GetCurrentDirectory();
loggerFactory.AddFile($"{_path}\\logs\\log.txt");
....
}
(3) loggerFactory.AddFile() ๋ฉ์๋๊ฐ ์์ ๊ฒฝ์ฐ๋ ์๋ค.
์ด๋๋ nuget์์ logging ๊ด๋ จ ํจํค์ง๋ฅผ ์ค์นํ๋ค.
ํ์ฌ vsc์์ ๊ฐ๋ฐ์ค์ด๋ฏ๋ก vsc์ ํฐ๋ฏธ๋์์ ์๋์ฒ๋ผ ํ์ดํํ์ฌ ์ค์นํ๋ค.
dotnet add package Serilog.Extensions.Logging.File --version 2.0.0
NuGet Gallery | Serilog.Extensions.Logging.File 2.0.0
(4) .AddFile() ๋ฉ์๋๊ฐ ์ ์์ ์ผ๋ก ์ฝ๋ฉ๋๋ค.
2. ๋ก๊น ํ๋ ค๋ ํ์ผ๋ก ์ด๋
(1) logger๊ฐ์ฒด ์์ฑํ, logger.~(๋ก๊ทธ ๋ฉ์๋๋ค)์ ์ด์ฉํ์ฌ ๋ก๊น ์ ํ๋ค.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
namespace DNAPlus.Controllers
{
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
private readonly ILogger<WeatherForecastController> _logger;
public WeatherForecastController(ILogger<WeatherForecastController> logger)
{
_logger = logger;
}
[HttpGet]
public IEnumerable<WeatherForecast> Get()
{
_logger.LogInformation($"Execute time : {DateTime.Now}");
var rng = new Random();
return Enumerable.Range(1, 20).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = rng.Next(-20, 55),
Summary = Summaries[rng.Next(Summaries.Length)]
})
.ToArray();
}
}
}
3. ํ๋ก๊ทธ๋จ์ ์คํํ๊ณ 1.์์ ์ค์ ํ path์์น๋ก ๊ฐ๋ฉด ๋ก๊ทธ ํ์ผ์ด ์์ฑ๋์ด์์์ ํ์ธํ ์ ์๋ค.
์ฐธ๊ณ : Add File Logging to an ASP.NET Core MVC Application (c-sharpcorner.com)
๋๊ธ