按照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"
答案 0 :(得分:5)
恐怕我们无法使用环境变量配置日志级别。函数主机启动时,它将从host.json
中读取日志级别,并使用相应的过滤规则注入ILogger实例。主机配置不是env变量,但是我们可以修改host.json
来更改日志级别。
host.json中的v2日志配置。
"logging": {
"logLevel": {
// For specific function
"Function.MyFunction1": "Information",
// For all functions
"Function":"Error",
// Default settings, e.g. for host
"default": "None"
}
}
答案 1 :(得分:5)
扩展Pramod给出的答案
在门户中,导航到“ Azure功能”,转到“配置”刀片,然后按“新应用程序设置”:
名称:AzureFunctionsJobHost__logging__logLevel__Default
值:Error
NB。别忘了您需要按OK(确定),然后再按Configuration(配置)边栏上的Save(保存)。
答案 2 :(得分:0)