Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        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();
        }