示例#1
0
        public void ShowError(string errorText)
        {
            var entry = new ErrorListTableEntry(errorText, LogLevel.Error);

            _errorListDataSource.Value.AddNuGetEntries(entry);
            _errorListDataSource.Value.BringToFront();
        }
示例#2
0
        public async Task ShowErrorAsync(string errorText)
        {
            var entry = new ErrorListTableEntry(errorText, LogLevel.Error);

            _errorList.Value.AddNuGetEntries(entry);
            await _errorList.Value.BringToFrontIfSettingsPermitAsync();
        }
示例#3
0
        public void ShowError(string errorText)
        {
            var entry = new ErrorListTableEntry(errorText, LogLevel.Error);

            _errorList.Value.AddNuGetEntries(entry);
            _errorList.Value.BringToFrontIfSettingsPermit();
        }
        private void HandleErrorsAndWarnings(ILogMessage logMessage)
        {
            // Display only errors/warnings
            if (logMessage.Level >= LogLevel.Warning)
            {
                var errorListEntry = new ErrorListTableEntry(logMessage);

                // Add the entry to the list
                _errorListDataSource.Value.AddNuGetEntries(errorListEntry);

                // Display the error list after restore completes
                _showErrorList = true;
            }
        }
示例#5
0
        private void LogToVS(VerbosityLevel verbosityLevel, string message)
        {
            if (_cancelled)
            {
                // If an operation is canceled, don't log anything, simply return
                // And, show a single message gets shown in the summary that package restore has been canceled
                // Do not report it as separate errors
                return;
            }

            // If the verbosity level of message is worse than VerbosityLevel.Normal, that is,
            // VerbosityLevel.Detailed or VerbosityLevel.Diagnostic, AND,
            // _msBuildOutputVerbosity is lesser than verbosityLevel; do nothing
            if (verbosityLevel > VerbosityLevel.Normal && OutputVerbosity < (int)verbosityLevel)
            {
                return;
            }

            // VerbosityLevel.Quiet corresponds to ILogger.LogError, and,
            // VerbosityLevel.Minimal corresponds to ILogger.LogWarning
            // In these 2 cases, we add an error or warning to the error list window
            if (verbosityLevel == VerbosityLevel.Quiet ||
                verbosityLevel == VerbosityLevel.Minimal)
            {
                var errorLevel     = verbosityLevel == VerbosityLevel.Quiet ? LogLevel.Error : LogLevel.Warning;
                var errorListEntry = new ErrorListTableEntry(message, errorLevel);

                // Add the entry to the list
                _errorListDataSource.Value.AddNuGetEntries(errorListEntry);

                // Display the error list after restore completes
                _showErrorList = true;
            }

            // Only show messages with VerbosityLevel.Normal. That is, info messages only.
            // Do not show errors, warnings, verbose or debug messages on the progress dialog
            // Avoid showing indented messages, these are typically not useful for the progress dialog since
            // they are missing the context of the parent text above it
            var reportProgress = RestoreOperationProgressUI.Current != null &&
                                 verbosityLevel == VerbosityLevel.Normal &&
                                 message.Length == message.TrimStart().Length;

            // Write to the output window if the verbosity level is high enough.
            var showAsOutputMessage = ShouldShowMessageAsOutput(verbosityLevel);

            // Avoid moving to the UI thread unless there is work to do
            if (reportProgress || showAsOutputMessage)
            {
                // Run on the UI thread
                Do((_, progress) =>
                {
                    // Progress dialog
                    if (reportProgress)
                    {
                        progress?.ReportProgress(message);
                    }

                    // Output console
                    if (showAsOutputMessage)
                    {
                        WriteLine(verbosityLevel, message);
                    }
                });
            }
        }