private void InitializeErrorHandler() { executorFactory = new FileLogBatchFactory(TimeSpan.FromSeconds(30)); logService = new IsolatedLogService(); logFactory = new DefaultLogFactory() .AddSerializer(AddDisposable(new FileLogSerializer(new DefaultLogFormatter(), () => settings.LogLevel, executorFactory))) .AddSerializer(AddDisposable(new ErrorLogSerializer(new DefaultLogFormatter(), executorFactory))) #if DEBUG .AddConsole() #endif ; ILog rootLog = logFactory.Scope("Root"); ExceptionHandlerBuilder builder = new ExceptionHandlerBuilder(); builder .Filter <UnauthorizedAccessException>() .Handler(new UnauthorizedAccessExceptionHandler(settings, this, () => { mainWindow?.Close(); mainFactory.ClearService(); })); builder .Filter(e => !(e is UnauthorizedAccessException)) .Handler(new LogExceptionHandler(rootLog)) .Handler(new MessageBoxExceptionHandler(this)); exceptionHandler = builder; }
internal ConfigurationViewModelFactory(IApplicationLoader mainApplicationLoader, ShortcutService shortcutService, DefaultRunHotKeyService runHotKey, ISettingsService settingsService, ISettings settings, ISettingsFactory settingsFactory, INavigator navigator, ILogService logProvider, IDiagnosticService searchDiagnostics, FileLogBatchFactory executorFactory) { Ensure.NotNull(mainApplicationLoader, "mainApplicationLoader"); Ensure.NotNull(shortcutService, "shortcutService"); Ensure.NotNull(runHotKey, "runHotKey"); Ensure.NotNull(settingsService, "settingsService"); Ensure.NotNull(settings, "settings"); Ensure.NotNull(settingsFactory, "settingsFactory"); Ensure.NotNull(navigator, "navigator"); Ensure.NotNull(logProvider, "logProvider"); Ensure.NotNull(searchDiagnostics, "searchDiagnostics"); Ensure.NotNull(executorFactory, "executorFactory"); this.mainApplicationLoader = mainApplicationLoader; this.shortcutService = shortcutService; this.runHotKey = runHotKey; this.settingsService = settingsService; this.settings = settings; this.settingsFactory = settingsFactory; this.navigator = navigator; this.logProvider = logProvider; this.searchDiagnostics = searchDiagnostics; this.executorFactory = executorFactory; }
public ErrorLogSerializer(ILogFormatter formatter, FileLogBatchFactory executorFactory) : base(formatter, () => LogLevel.Error, executorFactory) { }
public TroubleshootViewModel(ILogService logProvider, IDiagnosticService searchDiagnostics, FileLogBatchFactory executorFactory) { Ensure.NotNull(logProvider, "logProvider"); this.logProvider = logProvider; Logs = new ObservableCollection <LogModel>(logProvider.GetFileNames()); OpenLog = new OpenLogCommand(logProvider); OpenIsolatedFolder = new OpenIsolatedFolderCommand(); OpenLastSearchFiles = new OpenLastSearchFilesCommand(searchDiagnostics); FlushLogMessages = new DelegateCommand(executorFactory.Flush); }