Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# iLogger工厂和结构图注册_C#_Asp.net_.net - Fatal编程技术网

C# iLogger工厂和结构图注册

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();

在我的API项目Startup.cs文件中,我有以下内容:

    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
的创建实例。