[C#/ASP.NET MVC/.NETCORE] ILogger 인터페이스 : BeginScope 메소드를 사용해 로그 범위 설정하기
C#/ASP.NET MVC 2020. 10. 27. 01:40728x90
반응형
728x170
▶ appsettings.json
{
"Logging" :
{
"Debug" :
{
"LogLevel" :
{
"Default" : "Information"
}
},
"Console" :
{
"IncludeScopes" : true,
"LogLevel" :
{
"Microsoft" : "Warning",
"Default" : "Information"
}
},
"LogLevel" :
{
"Default" : "Debug"
}
},
"AllowedHosts" : "*"
}
728x90
▶ appsettings.Development.json
{
"Logging" :
{
"Debug" :
{
"LogLevel" :
{
"Default" : "Information"
}
},
"Console" :
{
"IncludeScopes" : true,
"LogLevel" :
{
"Microsoft" : "Warning",
"Default" : "Information"
}
},
"LogLevel" :
{
"Default" : "Debug"
}
}
}
300x250
▶ Controllers/TestController.cs
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
namespace TestProject.Controllers
{
/// <summary>
/// 테스트 컨트롤러
/// </summary>
public class TestController : Controller
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 로그 기록기
/// </summary>
private ILogger<TestController> logger;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - TestController(logger)
/// <summary>
/// 생성자
/// </summary>
/// <param name="logger">로그 기록기</param>
public TestController(ILogger<TestController> logger)
{
this.logger = logger;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 인덱스 페이지 처리하기 - Index()
/// <summary>
/// 인덱스 페이지 처리하기
/// </summary>
/// <returns>액션 결과</returns>
public IActionResult Index()
{
using(this.logger.BeginScope("PROCESS INDEX"))
{
this.logger.LogInformation(100, "BEGIN GET DATA");
// 데이터를 처리한다.
this.logger.LogInformation(200, "END GET DATA");
}
return View();
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
댓글을 달아 주세요