android logging mono console xamarin

Xamarin Android-Desactiva Mono Logs



logging console (1)

Esto podría ser algo quisquilloso, pero en Xamarin cuando ejecuta una aplicación de Android, tira toneladas de líneas en la consola que comienzan con [Mono]

¿Hay alguna forma de desactivar estos registros?

Gracias por adelantado


Esto se puede hacer cambiando el estado del entorno de ejecución de Monos en el dispositivo; que es solo un conjunto de variables de entorno que altera el comportamiento de Monos (ya sea recolección de basura, registro, etc.). En este caso, para alterar el comportamiento de registro, debemos modificar los valores almacenados en las variables de entorno MONO_LOG_LEVEL y MONO_LOG_MASK .

Xamarin.Android ofrece 2 mecanismos que los desarrolladores pueden usar para cambiar el entorno de ejecución:

  • 1. Usando adb shell setprop debug.mono.env . Esto se puede hacer como una acción de compilación posterior.
  • 2. Usar un archivo de compilación de entorno para cambiar el estado del entorno de ejecución por proyecto.

Prefiero usar el método 2 ya que es más fácil editar un archivo de texto que cambiar las acciones de compilación. Haga esto siguiendo los pasos que se detallan a continuación.

Agregar un archivo de entorno

Agregue un archivo de texto sin formato llamado environment.txt a la ruta raíz de su proyecto Xamarin.Android.

Haga clic con el botón derecho en environment.txt y configure su acción de AndroidEnvironment en AndroidEnvironment .

El archivo de entorno es una serie de pares clave = valor separados por nuevas líneas. Para el registro, podemos establecer las siguientes variables:

MONO_LOG_LEVEL

  • depurar
  • información
  • mensaje
  • advertencia
  • crítico
  • error

MONO_LOG_MASK

  • asm
  • dll
  • cfg
  • todas
  • tipo
  • gc

Por ejemplo, podemos ignorar la mayoría de los mensajes al filtrar MONO_LOG_LEVEL por error:

environment.txt

MONO_LOG_LEVEL=error

Lectura de fondo: