Я пытаюсь войти в систему с Serilog
в классе Program.cs
приложения ASP.NET Core.Моя текущая настройка выглядит следующим образом:
public class Program
{
public static void Main(string[] args)
{
DoStuff();
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((hostingContext, builder) =>
{
builder.AddFile(@"C:\...\log-{Date}.txt", isJson: true);
})
.UseStartup<Startup>();
}
Я могу успешно войти в класс Controller
, выполнив:
public class WebhookController : Controller
{
readonly ILogger<WebhookController> _log;
public WebhookController(ILogger<WebhookController> log)
{
_log = log;
}
public IActionResult Index()
{
_log.LogInformation("hello world");
return View();
}
}
Однако, при попытке повторить это в program
класс _log
недоступен в Main(string[] args)
:
public class Program
{
readonly ILogger<Program> _log;
public Program(ILogger<Program> log)
{
_log = log;
}
public static void Main(string[] args)
{
DoStuff();
CreateWebHostBuilder(args).Build().Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((hostingContext, builder) =>
{
builder.AddFile(@"C:\...\log-{Date}.txt", isJson: true);
})
.UseStartup<Startup>();
}
Как настроить Serilog для входа в класс program
?