本文介绍如何在 WPF Prism 8.x 中注册 Serilog 日志服务。
第一步:添加相关依赖
- Microsoft.Extensions.Hosting
- Serilog.Extensions.Hosting
- Serilog.Sinks.Async
- Serilog.Sinks.File
- Prism.DryIoc
- Prism.Container.Extensions
第二步:在 App.xaml.cs 中添加如下代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| protected override async void OnStartup(StartupEventArgs e)
{
const long defaultFileSizeLimitBytes = 1L * 1024 * 1024 * 20; // 10M
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
.Enrich.FromLogContext()
.WriteTo.Async(c => c.File("Logs/logs.txt",
rollingInterval: RollingInterval.Day,
fileSizeLimitBytes: defaultFileSizeLimitBytes,
rollOnFileSizeLimit: true))
.CreateLogger();
Log.Information("程序启动");
base.OnStartup(e);
}
protected override void OnExit(ExitEventArgs e)
{
Log.Information("程序关闭");
Log.CloseAndFlush();
}
|
第三步:在窗口中添加测试代码
1
2
3
4
5
6
7
| private readonly ILogger<MainWindowViewModel> _logger;
public MainWindowViewModel(ILogger<MainWindowViewModel> logger)
{
_logger = logger;
_logger.LogInformation("123");
}
|
本文已经完整的介绍了如何在 WPF Prism 8.x 中注册 Serilog 日志服务。
(完)