Azure Function v4 – Cómo desactivar el registro del host
Tengo una aplicación C# de Azure Function que se implementa a través de la canalización de compilación y lanzamiento de DevOps.
Estaba ejecutándose en el tiempo de ejecución de Azure Functions v3. Recientemente actualicé el archivo del proyecto y la plantilla bicep de la aplicación de función para que se ejecute en v4.
La aplicación está configurada para registrar en Azure Sql a través de Serilog. Desde la actualización, he notado miles de entradas de registro adicionales del Azure Functions Host.
La sección de registro de mi archivo appsettings.json se muestra a continuación. Mi comprensión es que estos se usarían cuando haya valores equivalentes disponibles para la aplicación de función como variables de entorno, a través de la sección de configuración de la aplicación de función.
"Logging": {
"LogLevel": {
"Default": "Error"
},
"ApplicationInsights": {
"LogLevel": {
"Default": "Information"
}
}
}
Intenté seguir la respuesta a esta publicación para suprimir la registro agregando las siguientes entradas en la configuración de la aplicación de función:
"name": "AzureFunctionsJobHost__Logging__LogLevel__Microsoft",
"value": "Error"
"name": "AzureFunctionsJobHost__Logging__LogLevel__Azure",
"value": "Error"
Reinicié la aplicación de función, pero no noté ninguna diferencia en los registros. Aquí tienes un ejemplo de uno de los registros no deseados (todos registrados con un nivel de “Información”):
<properties>
<property key='requestId'>bcc9a52c-fb8b-4a89-bb1c-9ed08eb305c4</property>
<property key='status'>200</property>
<property key='reasonPhrase'>OK</property>
<property key='seconds'>0.0048284</property>
<property key='EventSourceEvent'>Response [bcc9a52c-fb8b-4a89-bb1c-9ed08eb305c4] 200 OK (00.0s)</property>
<property key='EventId'>
<structure type=''>
<property key='Id'>5</property>
<property key='Name'>Response</property>
</structure>
</property>
<property key='SourceContext'>Azure.Core</property>
</properties>
davy.ai
Solución
Parece que los cambios que hiciste a la configuración de la aplicación de la función no se aplicaron. Esto puede deberse a algunas razones, como nombres incorrectos o ubicación incorrecta de las configuraciones. Aquí hay algunos pasos que puedes seguir para asegurarte de que los cambios se apliquen:
AzureFunctionsJobHost__Logging__LogLevel__Microsoft
yAzureFunctionsJobHost__Logging__LogLevel__Azure
.Si los pasos anteriores no resuelven el problema, puedes intentar establecer el nivel de registro programáticamente en tu código C# usando Serilog. Aquí tienes un ejemplo de cómo hacerlo:
Esto establecerá el nivel mínimo de registro en Error, lo que debería suprimir las entradas de registro adicionales que estás viendo. También puedes experimentar con otros niveles de registro si es necesario.
¡Espero que esto te ayude! Avísame si tienes alguna pregunta adicional.