Xamarin Android-Desactivar los registros Mono


Esto podría ser una cosa quisquillosa, pero en Xamarin cuando se ejecuta una aplicación para Android, se volcan toneladas de líneas en la consola que comienzan con [Mono]

¿Hay alguna forma de deshabilitar estos registros?

Gracias de antemano

Author: wyzkid207, 2014-11-05

2 answers

Esto se puede hacer cambiando el estado del entorno de ejecución Monos en el dispositivo; que es solo un conjunto de variables de entorno que altera el comportamiento Monos (ya sea recolección de basura, registro, etc.). En este caso, para alterar el comportamiento de registro necesitamos 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 puede ser hecho como una acción de construcción de post.
  • 2. Usando 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 utilizando los pasos descritos a continuación.

Añadiendo Un Archivo De Entorno

Agregue un archivo de texto sin formato llamado environment.txt a la ruta raíz de su Xamarin.Proyecto Android. introduzca la descripción de la imagen aquí

Haga clic derecho en environment.txt y establezca su acción de compilación en AndroidEnvironment.

El archivo de entorno es una serie de pares key=value separados por líneas nuevas. Para el registro, podemos establecer lo siguiente variables:

MONO_LOG_LEVEL

  • depurar
  • info
  • mensaje
  • advertencia
  • crítico
  • error

MONO_LOG_MASK

  • asm
  • dll
  • cfg
  • todos
  • tipo
  • gc

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

Medio Ambiente.txt

MONO_LOG_LEVEL=error

Lectura de fondo:

 41
Author: matthewrdev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-05 23:19:31

Lo que hago está abajo. Todavía es imperfecto, ya que la ventana contiene registros de 10k, incluidos los ocultos, por lo que los míos eventualmente desaparecen. Además, parece que no puedo copiar desde la ventana.

1) Use una etiqueta de "AAA" para todos mis registros.
2) Ver la salida en Herramientas > Android > Registro del dispositivo
3) Ordenar alfabéticamente por etiqueta.
4) Me parece que las salidas debajo de la mía todavía son una distracción. Puedo hacer clic en el "filtro" para la etiqueta y desmarcar todo menos el mío. Molesto, tengo que repetir esto paso periódicamente, ya que las etiquetas nuevas no se filtran de forma predeterminada.

introduzca la descripción de la imagen aquí

 0
Author: William Jockusch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-24 13:02:27