로그 공급자를 추가 here
을 읽을처럼 나는, .NET 프레임 워크 ASP.NET 코어 2.0을 사용하여 프로젝트를 가지고 있고, 윈도우 이벤트 로그에 로깅을 구현하려는public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddEventSourceLogger();
logging.AddConsole();
})
.UseStartup<Startup>()
.Build();
}
컨트롤러
[Route("api/[controller]")]
public class ShortCodeController : Controller
{
private readonly ILogger _logger;
public ShortCodeController(ILogger<ShortCodeController> logger)
{
_logger = logger;
_logger.LogInformation("INIT");
}
[HttpGet("{letters}/{digits}/{length}")]
public string Get(bool letters, bool digits, int length)
{
_logger.LogError("TEST");
return "value";
}
}
그리고 콘솔에서 작동합니다. 내 로그 메시지가 표시됩니다. 그러나 이벤트 뷰어를 사용하여 이벤트 로그에서 해당 메시지를 찾을 수 없습니다. 왜?
HTTPS에 제안 당신이 (')'이 아니라 logging.AddEventLog'보다는 logging.AddEventSourceLogger을()'(사용하는 이유가 있나요 : // docs.microsoft.com/en-us/aspnet/core/fundamentals/logging/?tabs=aspnetcore2x#eventlog)? – mjwills