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