Console MessageBox, admin mode

This commit is contained in:
2023-08-28 13:49:54 +02:00
parent bb44ca0308
commit bc865011d3
18 changed files with 313 additions and 88 deletions

View File

@@ -8,21 +8,27 @@ namespace FileTime.ConsoleUI.App.Services;
public class CustomLoggerSink : ILogEventSink
{
private readonly Lazy<IDialogService> _dialogService;
public CustomLoggerSink(IServiceProvider serviceProvider)
{
_dialogService = new Lazy<IDialogService>(() => serviceProvider.GetRequiredService<IDialogService>());
}
public void Emit(LogEvent logEvent)
{
if (logEvent.Level >= LogEventLevel.Error)
if (logEvent.Level >= LogEventLevel.Error
&& logEvent.Properties.TryGetValue("SourceContext", out var sourceContext))
{
var message = logEvent.RenderMessage();
if (logEvent.Exception is not null)
message += $" {logEvent.Exception.Message}";
Debug.WriteLine(message);
_dialogService.Value.ShowToastMessage(message);
var s = sourceContext.ToString();
if (s != "\"Microsoft.AspNetCore.SignalR.Client.HubConnection\"")
{
var message = logEvent.RenderMessage();
if (logEvent.Exception is not null)
message += $" {logEvent.Exception.Message}";
Debug.WriteLine(message);
_dialogService.Value.ShowToastMessage(message);
}
}
}
}