'Application Insight shows as a loggerProvider in Controller but not in the custom Classes
I have a particular problem. I have a small C# .Net 5.0 API, where I use AppInsight for logging the logs.
When I run it, I can see the logger has AppInsight as a provider in Controller but not in the custom classes.
Startup.CS
services.AddScoped<IMyDataProcessor, MyDataProcessor>();
services.AddTransientWithProxy<IMyDataProcessor, MyDataProcessor>();
services.AddSingleton(b => b.GetService<ILoggerFactory>());
//AppInsights
services.AddApplicationInsightsTelemetry(Configuration);nter code here
MyController.CS
public class LoggingDemoController : ControllerBase
{
private readonly ILogger<LoggingDemoController> _logger;
private readonly IServiceProvider _serviceProvider;
private readonly ILoggerFactory _loggerFactory;
public LoggingDemoController(IServiceProvider serviceProvider)
{
_logger = serviceProvider.GetService<ILogger<LoggingDemoController>>();
_loggerFactory = serviceProvider.GetService<ILoggerFactory>();
_serviceProvider = serviceProvider;
}
public LoggingDemoController(IServiceProvider serviceProvider)
{
_logger = serviceProvider.GetService<ILogger<LoggingDemoController>>();
_loggerFactory = serviceProvider.GetService<ILoggerFactory>();
_serviceProvider = serviceProvider;
}}
}
MyDataProcessor.CS
public class MyDataProcessor: IMyDataProcessor
{
ILogger<MyDataProcessor> _logger;
public MyDataProcessor(ILogger<MyDataProcessor> logger, IServiceProvider serviceProvider)
{
_logger = logger;
var loggerFactory = serviceProvider.GetRequiredService<ILoggerFactory>();
}
}
In the above code, in my Controller, I can see the Logger as a loggerProvider as ApplicationInsight but MyDataProvider doesn't shows the loggerProvider with AppInsight, instead it shows, Console, Debug, EventTrace, and Event provider.
Same thing also reflecting on my Azure, the logs being inserted from the Controller, I can see in Azure ApplicationInsight but not from the custom class "MyDataProcessor".
Your help is appreciated, any direction would help me solving this mystery.
Thanks Rushi
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|


