在Azure函数中,我注册了这样一个记录器:
builder.Services
.AddLogging(config => config.AddApplicationInsights())然后在这样的函数中解析它:
public async Task Run([TimerTrigger("0 * 1 * * *")]TimerInfo timer, ILogger log)这个很好用。记录器被解析并记录。但是,我有一个类,我在启动过程中也注册了一个临时类,该类有一个注入如下所示的记录器:
public MyService(ILogger<MyService> logger)
{
_logger = logger;
}我的问题是,当我从MyService调用一个方法时,我无法得到日志输出。它看起来是解析的(我试图更改各种事情,这样就不会了,并且我收到一条错误消息,表示它还没有解决),但是,我没有得到任何输出。
我在这里的注册有问题吗?
发布于 2019-09-03 04:08:21
在浏览了一些github帖子之后,看起来就可以这样做了。
private readonly ILogger _logger;
public MyService(ILoggerFactory loggerFactory)
{
_logger = loggerFactory.CreateLogger<MyService>();
}
DoSomething()
{
//Use _logger to log info
}您还应该确保您的服务在Startup中注册,就像这个builder.Services.AddTransient<IMyService, MyService>();一样。
https://stackoverflow.com/questions/57757007
复制相似问题