首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ILogger<TCategoryName>写在哪里?

ILogger<TCategoryName>写在哪里?
EN

Stack Overflow用户
提问于 2022-07-06 10:47:17
回答 1查看 160关注 0票数 0

我正在编写一个函数应用程序,它被删减到以下内容

代码语言:javascript
复制
namespace myNamespace {
    public class Test {
        private readonly ILogger _Constructorlog;
         public Test(ILogger<TestProcessor> logger) {
            _Constructorlog = logger;
        }

        [FunctionName("TestLog")]
        public async Task<IActionResult> RunWeb([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger methodLog) {
            methodLog.LogInformation("method log");
            _Constructorlog.LogInformation("Constructor log");
        }
    }
}

此代码按预期将其写入控制台窗口。

[2022-07-06T10:07:35.302Z] method log

“构造函数日志”应该写在哪里?

当调用_Constructorlog时,LogInformationILogger<TestProcessor>类型。

这是`hosts.json的文件

代码语言:javascript
复制
{
    "version": "2.0",
    "logging": {
        "applicationInsights": {
            "samplingSettings": {
                "isEnabled": true,
                "excludedTypes": "Request"
            }
        }
    }
}

我还尝试使用来自https://learn.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-6.0的各种JSON

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-06 16:37:50

命名空间需要添加到类的host.json中。

代码语言:javascript
复制
    "version": "2.0",
    "logging": {
        "applicationInsights": {
            "samplingSettings": {
                "isEnabled": true,
                "excludedTypes": "Request"
            }
        },
        "logLevel": {
            "default": "None",
            "myNamespace": "Information"
        }
    }
}

None在这里停止在控制台窗口中显示的注入ILogger .LogInformation的依赖项,这样method log就不会被写入。

Information添加到此处的命名空间意味着在控制台窗口中写入该名称空间的ILogger<TCategoryName> .LogInformation

"default": "None",同时写入控制台窗口。

当这些设置上传到Azure时,我需要测试这些设置是如何应用的,但是这在本地是可行的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72882209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档