Ada*_*ton 9 c# .net-core azure-functions
我有一些服务最初设计为从我的ASP.NET Core 2.1 Web应用程序调用.它们使用Microsoft.Extensions.DependencyInjection包的东西将依赖注入到它们的构造函数中.其中一些具有ILogger记录器的依赖性.
public GroupService(ILogger<GroupService> logger)
{
...
}
Run Code Online (Sandbox Code Playgroud)
我正在该函数中构建一个服务提供程序,以便它们仍然可以按预期工作,但我想知道我应该如何处理logger依赖项.Azure函数(V2)默认情况下会将ILogger注入其中,但不能在DI容器中使用它来创建服务所需的其他记录器.
是否有一个LoggerFactory注册在"隐藏"的地方,我可以访问我的DI容器中使用?我想这会允许我添加记录到函数输出窗口的其他记录器,或者我完全误解了函数的登录方式是如何工作的?
我只需要设置一个新的LoggerFactory并将该日志发送到函数项目使用的ApplicationInsights实例吗?
使用最新的 Azure Function 运行时,您现在可以让运行时通过构造函数注入依赖项。
现在,您可以从 Azure Function 中删除静态关键字并拥有运行时。
设置方法如下:
[assembly: WebJobsStartup(typeof(StartUp))]
public class StartUp : IWebJobsStartup
{
public void Configure(IWebJobsBuilder webJobsBuilder)
{
// Enables logging and sets the minimum level of logs.
webJobsBuilder.Services.AddLogging(loggingBuilder =>
{
loggingBuilder.SetMinimumLevel(LogLevel.Debug);
});
// Registers your services.
webJobsBuilder.Services.AddTransient<IGroupService, GroupService>();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1353 次 |
| 最近记录: |