我很难找到支持.NET Standard 1.4日志记录并支持UWP的库。最后,我想写入本地sqlite数据库进行日志记录,但如果不会发生这种情况,我只需输出到本地存储上的文件即可。
所以,目前,我正在使用Serilog,我想我可以让它只使用输出到本地文件,但我有一个问题......
我有两层(在许多其他图层中),但为此,我的应用程序中有两层:
演示文稿:
UWP proj
Android proj
iOS proj
Xamarin.Forms proj
服务:
.Net Standard 1.4服务项目。
他们是同一解决方案的一部分,但所有不同的项目,目录。
我想要在服务项目中的UWP,Android和iOS中使用服务。
目前,我的服务项目中有一个ILoggingService
接口,我在UWP项目中为UWP设置了LoggingService
,因为我需要使用特定于UWP的ApplicationDate路径。
我现在遇到的问题是,我还想记录.Net Standard 1.4项目中服务产生的任何异常。这也位于移动设备上。所以我很困惑如何设置它。我是否应该在.Net标准项目中创建另一个LoggingService
来实现ILoggingService
以记录与服务相关的错误或......?如果是这样,在这种情况下路径应该是什么? UWP路径还是C:/路径?我糊涂了?
答案 0 :(得分:1)
对此有一个非常积极的体验:
https://github.com/Belorus/XLog
记录示例:
private static readonly Logger Log = LogManager.Default.GetLogger("ClassName");
// ....
for (int i = 0; i < 100000; i++)
Log.Info(“Hello world!”);
输出示例:
16:18:17:439 | INFO | 1 | MainController | Hello world!
init逻辑示例
private static void InitLogger()
{
var formatter = new LineFormatter();
var logConfig = new LogConfig(formatter);
var target = new SyncFileTarget(@”D:\Log.log”);
logConfig.AddTarget(LogLevel.Trace, LogLevel.Fatal, target);
LogManager.Init(logConfig);
}