/// <summary> /// Configure the application logging service. /// </summary> public static IServiceCollection AddLogger(this IServiceCollection services, LoggerOptions options) { var logger = new LogAggregator(); logger.Initialize(options.Level); logger.AllowedTypes = options.LoggerType; if (options.LoggerType.HasFlag(LoggerTypes.DebugOutput)) { var debugLogger = new DebugOuputLogger(); debugLogger.Initialize(options.Level); logger.AddLogger(debugLogger, LoggerTypes.DebugOutput); } if (options.LoggerType.HasFlag(LoggerTypes.File)) { var fileLogger = new FileLogger(); fileLogger.Initialize(options.Level, options.LogFilePath, options.UseFileCompression); logger.AddLogger(fileLogger, LoggerTypes.File); } services.AddSingleton <ILogger>(logger); return(services); }
protected override async void Initialize() { base.Initialize(); _vsHelper.Initialize(this); SolutionInfo.SetServiceProvider(this); VsViewModelBase.CreateSolutionInfo(_vsHelper); UniversalViewModelBase.SetContainer(_container); ViewModelBase.SetContainer(_container); var vm = _container.Resolve <IViewModelsManager>().CreateViewModel <CodeToolsMainViewModel>(null); var view = vm.GetDefaultView(); var applicationConsole = _container.Resolve <IApplicationConsole>(); applicationConsole.Initialize(view, _logger.MinimumLevel); applicationConsole.SetToggleCondition(e => e.Key == Key.F12); _logger.AddLogger(applicationConsole.GetLogger(), LoggerTypes.ApplicationConsole); _container.Resolve <IDialogService>().Initialize(WPF.DefaultShell.DefaultRegions.DialogRegion); _container.Resolve <IToastService>().Initialize(WPF.DefaultShell.DefaultRegions.ToastRegion, TimeSpan.FromSeconds(3)); Content = view; await vm.Initialize(); }