【问题标题】:Logentries + Xamarin = how?Logentries + Xamarin = 如何?
【发布时间】:2015-12-19 07:10:57
【问题描述】:

主要问题是:如何将 Logentries 集成到基于 Xamarin 的移动应用程序中?以下两种方式考虑:Serilog 和 log4net。

Logentries 原生支持 Android, iOS, WP,但在使用 Xamarin 代理这些 API 时不支持。 Serilog 是一个优雅的围绕 Logentries API 的 C# 包装器,但是在同一个项目中安装所有需要的组件以及 Xamarin 的组件时出现问题。 Visual Studio 被用作 IDE,NuGet 被用作包管理器。我认为应该使用 NuGet 安装的包是SerilogSerilog.MobileSerilog.Sinks.Logentries。 使用 Xamarin 创建 Android 应用程序时,正在使用 Mono.Android 模块。 Serilog 与 Mono.Android 完美共存,但 Serilog.Mobile 和 Serilog.Sinks.Logentries 不能:

错误:无法安装软件包“Serilog.Sinks.Logentries 1.5.8”。你 正在尝试将此软件包安装到目标项目中 'Xamarin.iOS,Version=v1.0',但包中不包含任何 与之兼容的程序集引用或内容文件 框架。如需更多信息,请联系包作者。

错误消息与 Serilog.Mobile 相同。

使用 Xamarin.iOS 时,唯一不兼容的模块恰好是 Serilog.Sinks.Logentries:

错误:无法安装软件包“Serilog.Sinks.Logentries 1.5.8”。你 正在尝试将此软件包安装到目标项目中 'MonoAndroid,Version=v6.0',但包中不包含任何 与之兼容的程序集引用或内容文件 框架。如需更多信息,请联系包作者。

看到有一个Xamarin Serilog "sink"。由创建 Logentries 的同一个人编写。在我看来,它只是移植了 Serilog 库,并为 Android 的 Log 类和 iOS 的 NSLog 提供了便利的记录器:

ILogger androidLogger = new Serilog.LoggerConfiguration().WriteTo.AndroidLog().CreateLogger();
ILogger iosLogger = new Serilog.LoggerConfiguration().WriteTo.NSLog().CreateLogger();

所以第一个问题是,如果 Serilog 即将用于基于 Xamarin 的应用程序,那怎么会发生呢?

log4net 是 Logentries C# port 的另一个选项,但可能又不是 Xamarin 而是桌面应用程序。只是调查一下,显然有一些适用于 iOS 的 ports

如果您能向我推荐将 Logentries 与 Xamarin 结合使用的正确方法,那就太好了。

【问题讨论】:

    标签: logging xamarin log4net serilog logentries


    【解决方案1】:

    听起来您需要下载 Logentries 接收器的源代码并自己为 Xamarin 重新编译它。 (Serilog 对 Xamarin 平台的支持很少,因为在无需购买许可证的情况下很难获得工具/运行构建。如果您可以改进 https://github.com/serilog/serilog-sinks-logentries 存储库,那么在那里无疑会欢迎启用 Xamarin 支持的 PR。)

    【讨论】:

    • 很高兴从 Serilog 的 Logentries 接收器的创建者那里听到它:) 只是想确定是否已经有一个 Logentries 的混合 Serilog 端口,它结合了 Logentries 的现有端口桌面 .NET (Serilog.Sinks.Logentries) 和一个用于 Xamarin (Serilog.Sinks.Xamarin)。如果将要使用 Serilog 以确保实现 Xamarin 支持。您能分享一下您对 log4net 的印象吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 2017-02-13
    • 2017-07-01
    相关资源
    最近更新 更多