【发布时间】:2019-04-23 14:33:30
【问题描述】:
根据Azure documentation,Functions V2 使用.NET Core logging filter hierarchy 进行配置。
在下面的例子中,ILogger 的一个实例被注入到函数的 Run 方法中。
[FunctionName("MyFunction")]
public static void Run([TimerTrigger("0 */1 * * * *")]TimerInfo myTimer, ILogger logger, ExecutionContext executionContext)
{
logger.LogInformation("I don't want to see this in production!"));
}
检查 ILogger 对象时,每个 LoggerInformation 元素的 MinLevel 为 null,这似乎记录了所有级别。
在生产中,我只想在错误级别登录。我希望能够使用环境变量来配置它,但我找不到任何解释如何实现这一点的文档。我尝试添加以下环境变量无效:
"logging__logLevel__Default: "Error"
【问题讨论】:
-
您是否检查了host.json 中的日志记录配置,或者您只想使用环境变量?
-
我想看看是否可以使用环境变量控制 LogLevel,但我不熟悉 host.json 文件。使用模拟器在本地调试 Function 时,我可以看到自动生成了一个 host.json 文件,但不包含任何日志记录配置。当我手动编辑文件时,我可以成功设置日志级别。本地开发时可以控制这个文件的生成吗?
-
手动编辑是唯一方式,生成由VS的Azure函数模板引擎控制。
-
如何实时更改该值(主机文件或其他)?我不希望默认启用详细,但我可能希望启用它几分钟而无需重新部署...这可能吗?
标签: azure asp.net-core azure-functions