是否有任何支持可移植类库的日志框架?我在 Nuget 上进行了搜索,但没有找到。
谢谢,
不确定,如果有直接针对可移植类库的日志框架,但没有什么能阻止您使用依赖注入在 PCL 中实现日志记录 - 为日志记录服务创建接口并使用您最喜欢的甚至不同的库分别在所有目标平台上实现它。然后,您可以更好地控制特定的日志记录设置 - 这是登录 .NET WPF 应用程序、WP8 应用程序或 Windows Store 应用程序的完全不同的方法。
我会回答我自己的问题:
Common.Logging是一种广泛使用的 .NET 可移植日志抽象,在 2014 年初(大约 2.2.0 版)成为 PCL 兼容的。我在我的大多数库(PCL 和非 PCL)中都使用了 Common.Logging,它运行良好。
查看Splat。
一个使东西跨平台的库,应该是
这是一个小型 PCL 库,包含一些有用的跨平台类,包括日志记录......
https://github.com/paulcbetts/splat/blob/master/Splat/Logging.cs
您可以从NuGet获取它。
因为我也没有找到解决方案,所以我在这里创建了自己的... https://portilog.wordpress.com/
我遇到了类似的情况,我需要以某种一致的方式在我的可移植库中执行日志记录。我之前看过 Splat 和 Common.Logging 并认为它们对于我的需求来说有点太重了(尽管它们实际上都是非常可靠的日志框架)。因此,如果您对更轻量级的东西感兴趣,我已经编写了一个框架,它支持所有可移植配置文件(截至撰写本文时为 344)并提供最小的占用空间。该框架作为可移植库运行,可将日志调用转发到选定的适配器库(当前在 NuGet 上有 NLog 和 log4net 适配器可用)。然后,您的平台入口点负责按照您通常的方式连接日志记录,
该项目不是很活跃,但这只是因为自上次更新以来我不需要添加任何东西。我写了另一个 android 适配器,但自从我写它之后就没有做任何 Xamarin 编码。代码非常少,只是使日志记录愉快和容易的必需品。这个框架甚至与 CF35 兼容(尽管它没有官方构建),如果有人真的需要它来运行到那种程度。