.net core ILogger для понимания приложений - PullRequest
0 голосов
/ 20 февраля 2019

Использование Microsoft.ApplicationInsights.AspNetCore v2.6.1 с .net core v2.2.2 Я вижу телеметрию, идущую в потоковом метрике Azure Application Insight Live, но не то, что я пытаюсь зарегистрировать с помощью ILogger внутри Startup.cs или в контроллере.

Я пытался .UseApplicationInsights () с WebHost.CreateDefaultBuilder в Proagram.cs, а также в Startup.cs

services.AddApplicationInsightsTelemetry( options => {
  options.EnableDebugLogger = true;
});

, но это дает те же результаты.я вижу входящие запросы и частоту отказов запросов, но нет журнала с

this.logger.Log(LogLevel.Error, $"Test Error {Guid.NewGuid().ToString()}");
this.logger.LogTrace($"Test Trace {Guid.NewGuid().ToString()}");
this.logger.LogInformation($"Test Information {Guid.NewGuid().ToString()}");
this.logger.LogWarning($"Test Warning {Guid.NewGuid().ToString()}");
this.logger.LogCritical($"Test Critical {Guid.NewGuid().ToString()}");
this.logger.LogError($"Test Error{Guid.NewGuid().ToString()}");
this.logger.LogDebug($"Test Debug {Guid.NewGuid().ToString()}");

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

пожалуйста, посмотрите на этот вопрос с такой же проблемой и мой ответ на нее: Log4Net и Application Insights-данные не поступают через

0 голосов
/ 21 февраля 2019

обновление :

Если у вас установлен последний пакет Microsoft.Extensions.Logging.ApplicationInsights (2.9.1), вы можете следовать этому doc .

В program.cs:

public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .ConfigureLogging(logging=> {
                logging.AddApplicationInsights("your_insturmentation_key");
                logging.AddFilter<ApplicationInsightsLoggerProvider>("", LogLevel.Trace); #you can set the logLevel here
            });        
 }

Затем в controller.cs:

    public class HomeController : Controller
    {
        ILogger<HomeController> Logger { get; set; }
        TelemetryClient client = new TelemetryClient();
        public HomeController(ILogger<HomeController> logger)
        {
            this.Logger = logger;
        }

        public IActionResult Index()
        {
            Logger.LogTrace("0225 ILogger: xxxxxxxxxxxxxxxxxxxxxxxxx");
            Logger.LogDebug("0225 ILogger: debug from index page aa111");
            Logger.LogInformation("0225 ILogger: infor from index page aa111");
            Logger.LogWarning("0225 ILogger: warning from index page aa111");
            Logger.Log(LogLevel.Error, "0225 ILogger: error from index page aa111");
            return View();
        }

        # other code

     }

Результат теста (все журналы отправляются в аналитические материалы приложения):

enter image description here

...