Ale*_*akh 4 android visual-studio-debugging xamarin.android xamarin
很抱歉提出一个me脚的问题,但我没有找到答案。每次我将一些内容打印到System.Diagnostics.Debug.WriteLine时,我的信息都会增加三倍:
System.Diagnostics.Debug.WriteLine("test");
Run Code Online (Sandbox Code Playgroud)
输出:
[0:]
test
[0:] test
10-22 19:57:13.981 I/mono-stdout( 1026): test
Run Code Online (Sandbox Code Playgroud)
我坚持使用System.Diagnostic.Debug,因为我同时编写了来自UI部分(单色)和业务逻辑(PCL)的消息
有什么办法可以降低Xamarin.Android的调试噪音水平?
感谢您的任何建议。
制作自己的小抽象。我们的项目中存在相同的问题,这个小界面有助于:
public interface ILogger
{
void Write(LogLevel level, String tag, String message);
}
Run Code Online (Sandbox Code Playgroud)
然后,您将获得每个平台的记录器,例如:
public class AndroidLogger: ILogger
{
public void Write(LogLevel level, string tag, string message)
{
Android.Util.Log.WriteLine(ConvertLogLevel(level), tag, message);
}
}
Run Code Online (Sandbox Code Playgroud)
您可以将记录器注入iOS / Android项目中,甚至可以创建精美的记录器,例如用于iOS的漂亮文件记录器:
#if DEBUG
LOG.AddLogger(new TouchFileLogger());
LOG.AddLogger(new ConsoleLogger());
#endif
Run Code Online (Sandbox Code Playgroud)
LOG类是静态的,不需要了解实现,这就是为什么可以在共享的PCL库中轻松使用它的原因。
希望有帮助,尽管您的问题现在可能已经解决了;-)
| 归档时间: |
|
| 查看次数: |
1948 次 |
| 最近记录: |