这可能是一件挑剔的事情,但在 Xamarin 中运行 Android 应用程序时,它会在控制台中转储大量以
[Mono]
开头的行
有什么方法可以禁用这些日志吗?
提前致谢
这可以通过改变设备上Monos执行环境的状态来完成;它只是一组改变 Monos 行为的环境变量(无论是垃圾收集、日志记录等)。在这种情况下,要更改日志记录行为,我们需要修改存储在环境变量
MONO_LOG_LEVEL
和 MONO_LOG_MASK
中的值。
Xamarin.Android 提供了 2 种开发人员可以用来更改执行环境的机制:
adb shell setprop debug.mono.env
。这可以作为构建后操作来完成。我更喜欢使用方法 2,因为编辑文本文件比更改构建操作更容易。请按照下面列出的步骤执行此操作。
将名为
environment.txt
的纯文本文件添加到 Xamarin.Android 项目的根路径。
右键单击
environment.txt
并将其构建操作设置为 AndroidEnvironment
。
环境文件是一系列由换行符分隔的 key=value 对。对于日志记录,我们可以设置以下变量:
MONO_LOG_LEVEL
MONO_LOG_MASK
例如,我们可以通过错误过滤
MONO_LOG_LEVEL
来忽略大多数消息:
环境.txt
MONO_LOG_LEVEL=error
背景阅读: