C# iLogger工厂和结构图注册
在我的API项目Startup.cs文件中,我有以下内容:C# iLogger工厂和结构图注册,c#,asp.net,.net,C#,Asp.net,.net,在我的API项目Startup.cs文件中,我有以下内容: public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { if (env.IsDevelopment()) app.UseDeveloperExceptionPage(); app.UseMvc();
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
app.UseDeveloperExceptionPage();
app.UseMvc();
loggerFactory.AddAWSProvider(Configuration.GetAWSLoggingConfigSection(),
(logLevel, message, exception) => $"[{DateTime.UtcNow}] {logLevel}: {message}");
这对于API项目来说很好。我如何在Structuremap容器中注册它
var container = new StructureMap.Container(
c =>
{
c.For(typeof(ILogger<>)).Use(typeof(Logger<>));
c.For<ILoggerFactory>..../// use what?
}
var container=new StructureMap.container(
c=>
{
c、 用于(类型(ILogger))。使用(类型(记录器));
c、 用于....///使用什么?
}
如果我理解正确,您需要注册loggerFactory
的现有实例。有一个重载的使用
方法来获取现有实例:
var container = new StructureMap.Container(
c =>
{
c.For(typeof(ILogger<>)).Use(typeof(Logger<>));
c.For(typeof(ILoggerFactory)).Use(loggerFactory);
});
var container=new StructureMap.container(
c=>
{
c、 用于(类型(ILogger))。使用(类型(记录器));
c、 用于(类型(工厂))。使用(loggerFactory);
});
有关更多详细信息,请参阅。如果我理解正确,您需要注册
loggerFactory的现有实例。使用方法重载,该方法接受现有实例:
var container = new StructureMap.Container(
c =>
{
c.For(typeof(ILogger<>)).Use(typeof(Logger<>));
c.For(typeof(ILoggerFactory)).Use(loggerFactory);
});
var container=new StructureMap.container(
c=>
{
c、 用于(类型(ILogger))。使用(类型(记录器));
c、 用于(类型(工厂))。使用(loggerFactory);
});
有关更多详细信息,请参阅。什么是loggerFactory?您自己的实现?否。ASP.NET核心已通过Microsoft.Extensions.Logging.loggerFactory
的创建实例。什么是loggerFactory?您自己的实现?否。ASP.NET核心已通过Microsoft.Extensions.Logging.loggerFactory
的创建实例。