ログプロバイダーを追加here
を読むように私は、.NET FrameworkのASP.NETコア2.0を使用してプロジェクトを持っているし、Windowsイベントログへのロギングを実装したい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