Если вы хотите зарегистрировать ошибку как Исключение в обзорах приложения, эту строку кода _logger.LogError("Test", new Exception("Test"));
следует изменить.
Измените его на _logger.LogError(new Exception(), "test");
, что означает, что new Exception()
должен быть первым параметром.
И вы можете добавить приложение Insights SDK, щелкнув правой кнопкой мыши по своему проекту -> Добавить -> Application Insights Telemetry, что очень полезно, когда вы делаете что-то автоматически (например, добавляя .UseApplicationInsights() in Programs.cs
):
Я также публикую свои тестовые шаги:
1.Дополнение SDK приложения Insights, как указано выше
2.Добавьте loggerFactory.AddApplicationInsights(app.ApplicationServices,LogLevel.Information);
в Startup.cs -> Configure () метод, код как показано ниже:
public void Configure(IApplicationBuilder app, IHostingEnvironment env,ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseMvc();
//Add this line of code
loggerFactory.AddApplicationInsights(app.ApplicationServices,LogLevel.Information);
}
3. Затем где-то вы хотите записать ошибку:
public class AboutModel : PageModel
{
private ILogger _logger;
public AboutModel(ILogger<AboutModel> logger)
{
_logger = logger;
}
public string Message { get; set; }
public void OnGet()
{
_logger.LogInformation("it is just a test herexxxx");
//Only this format can log as exception
_logger.LogError(new Exception(), "it is a new Exceptionxxxx");
//it will log as trace
_logger.LogError("error logs xxx");
Message = "Your application description page.";
}
}
4. Результат теста, как показано ниже: