Xamarin Android - 关闭单声道日志

时间:2014-11-05 15:24:35

标签: android logging mono console xamarin

这可能是一个挑剔的事情,但在Xamarin运行Android应用程序时,它会在控制台中以[Mono]

开头转储大量行

有没有办法禁用这些日志?

提前致谢

2 个答案:

答案 0 :(得分:48)

这可以通过改变设备上Monos执行环境的状态来完成;这只是一组改变Monos行为的环境变量(无论是垃圾收集,日志记录等)。在这种情况下,要更改日志记录行为,我们需要修改存储在环境变量MONO_LOG_LEVELMONO_LOG_MASK中的值。

Xamarin.Android提供了两种开发人员可以用来改变执行环境的机制:

  • 1。使用adb shell setprop debug.mono.env。这可以作为后期构建操作完成。
  • 2. 使用环境构建文件更改每个项目的执行环境状态。

我更喜欢使用方法2,因为编辑文本文件比更改构建操作更容易。使用下面列出的步骤执行此操作。

添加环境文件

将名为environment.txt的纯文本文件添加到Xamarin.Android项目的根路径中。 enter image description here

右键点击environment.txt并将其构建操作设置为AndroidEnvironment

环境文件是由换行符分隔的一系列 key = value 对。对于日志记录,我们可以设置以下变量:

<强> MONO_LOG_LEVEL

  • 调试
  • 信息
  • 消息
  • 警告
  • 临界
  • 错误

<强> MONO_LOG_MASK

  • ASM
  • DLL
  • CFG
  • 所有
  • 类型
  • GC

例如,我们可以通过错误过滤MONO_LOG_LEVEL来忽略大多数邮件:

<强> environment.txt

MONO_LOG_LEVEL=error

背景阅读:

答案 1 :(得分:0)

我的工作如下。由于窗口可容纳10k的日志(包括隐藏的日志),因此仍然不完善,因此我的日志最终消失了。此外,我似乎无法从窗口进行复制。

1)在我的所有日​​志中使用“ AAA”标签。
2)在“工具”>“ Android”>“设备日志”中查看输出
3)按标签按字母顺序排序。
4)我发现我下面的产出仍在分散注意力。我可以点击代码的“过滤器”,然后取消选中除我以外的所有内容。烦人的是,由于默认情况下不会过滤新标签,因此我必须定期重复此步骤。

enter image description here