Пример #1
0
        /// <summary>
        /// This is called by every event handler for compat reasons -- see DDB #136924
        /// However it will skip after the first call
        /// </summary>
        private void InitializeBaseConsoleLogger()
        {
            if (_consoleLogger == null)
            {
                bool useMPLogger         = false;
                bool disableConsoleColor = false;
                if (!string.IsNullOrEmpty(_parameters))
                {
                    string[] parameterComponents = _parameters.Split(BaseConsoleLogger.parameterDelimiters);
                    for (int param = 0; param < parameterComponents.Length; param++)
                    {
                        if (parameterComponents[param].Length > 0)
                        {
                            if (0 == String.Compare(parameterComponents[param], "ENABLEMPLOGGING", StringComparison.OrdinalIgnoreCase))
                            {
                                useMPLogger = true;
                            }
                            if (0 == String.Compare(parameterComponents[param], "DISABLEMPLOGGING", StringComparison.OrdinalIgnoreCase))
                            {
                                useMPLogger = false;
                            }
                            if (0 == String.Compare(parameterComponents[param], "DISABLECONSOLECOLOR", StringComparison.OrdinalIgnoreCase))
                            {
                                disableConsoleColor = true;
                            }
                        }
                    }
                }

                if (disableConsoleColor)
                {
                    _colorSet   = new ColorSetter(BaseConsoleLogger.DontSetColor);
                    _colorReset = new ColorResetter(BaseConsoleLogger.DontResetColor);
                }

                if (_numberOfProcessors == 1 && !useMPLogger)
                {
                    _consoleLogger = new SerialConsoleLogger(_verbosity, _write, _colorSet, _colorReset);
                }
                else
                {
                    _consoleLogger = new ParallelConsoleLogger(_verbosity, _write, _colorSet, _colorReset);
                }

                if (!string.IsNullOrEmpty(_parameters))
                {
                    _consoleLogger.Parameters = _parameters;
                    _parameters = null;
                }

                if (_showSummary != null)
                {
                    _consoleLogger.ShowSummary = (bool)_showSummary;
                }

                _consoleLogger.SkipProjectStartedText = _skipProjectStartedText;
            }
        }
Пример #2
0
 /// <summary>
 /// Initializes the logger, with alternate output handlers.
 /// </summary>
 /// <owner>t-jeffv, sumedhk</owner>
 /// <param name="verbosity"></param>
 /// <param name="write"></param>
 /// <param name="colorSet"></param>
 /// <param name="colorReset"></param>
 public SerialConsoleLogger
 (
     LoggerVerbosity verbosity,
     WriteHandler write,
     ColorSetter colorSet,
     ColorResetter colorReset
 )
 {
     InitializeConsoleMethods(verbosity, write, colorSet, colorReset);
 }
Пример #3
0
 /// <summary>
 /// Initializes the logger, with alternate output handlers.
 /// </summary>
 /// <owner>t-jeffv, sumedhk</owner>
 /// <param name="verbosity"></param>
 /// <param name="write"></param>
 /// <param name="colorSet"></param>
 /// <param name="colorReset"></param>
 public SerialConsoleLogger
 (
     LoggerVerbosity verbosity,
     WriteHandler write,
     ColorSetter colorSet,
     ColorResetter colorReset
 )
 {
     InitializeConsoleMethods(verbosity, write, colorSet, colorReset);
 }
Пример #4
0
 /// <summary>
 /// Initializes the logger, with alternate output handlers.
 /// </summary>
 /// <param name="verbosity"></param>
 /// <param name="write"></param>
 /// <param name="colorSet"></param>
 /// <param name="colorReset"></param>
 public ConsoleLogger
 (
     LoggerVerbosity verbosity,
     WriteHandler write,
     ColorSetter colorSet,
     ColorResetter colorReset
 )
 {
     _verbosity  = verbosity;
     _write      = write;
     _colorSet   = colorSet;
     _colorReset = colorReset;
 }
Пример #5
0
		public ConsoleLogger (LoggerVerbosity verbosity, WriteHandler write, ColorSetter colorSet, ColorResetter colorReset)
		{
			if (write == null)
				throw new ArgumentNullException ("write");
			if (colorSet == null)
				throw new ArgumentNullException ("colorSet");
			if (colorReset == null)
				throw new ArgumentNullException ("colorReset");
			Verbosity = verbosity;
			this.write = write;
			set_color = colorSet;
			reset_color = colorReset;
		}
Пример #6
0
 /// <summary>
 /// Initializes the logger, with alternate output handlers.
 /// </summary>
 /// <param name="verbosity"></param>
 /// <param name="write"></param>
 /// <param name="colorSet"></param>
 /// <param name="colorReset"></param>
 public ConsoleLogger
 (
     LoggerVerbosity verbosity,
     WriteHandler write,
     ColorSetter colorSet,
     ColorResetter colorReset
 )
 {
     ErrorUtilities.VerifyThrowArgumentNull(write, "write");
     _verbosity  = verbosity;
     _write      = write;
     _colorSet   = colorSet;
     _colorReset = colorReset;
 }
Пример #7
0
 /// <summary>
 /// Initializes the logger, with alternate output handlers.
 /// </summary>
 /// <param name="verbosity"></param>
 /// <param name="write"></param>
 /// <param name="colorSet"></param>
 /// <param name="colorReset"></param>
 public ConsoleLogger
 (
     LoggerVerbosity verbosity,
     WriteHandler write,
     ColorSetter colorSet,
     ColorResetter colorReset
 )
 {
     ErrorUtilities.VerifyThrowArgumentNull(write, nameof(write));
     this.verbosity  = verbosity;
     this.write      = write;
     this.colorSet   = colorSet;
     this.colorReset = colorReset;
 }
Пример #8
0
 public ConsoleLogger(LoggerVerbosity verbosity, WriteHandler write, ColorSetter colorSet, ColorResetter colorReset)
 {
     if (write == null)
     {
         throw new ArgumentNullException("write");
     }
     if (colorSet == null)
     {
         throw new ArgumentNullException("colorSet");
     }
     if (colorReset == null)
     {
         throw new ArgumentNullException("colorReset");
     }
     Verbosity   = verbosity;
     this.write  = write;
     set_color   = colorSet;
     reset_color = colorReset;
 }
 public ConsoleLogger(Microsoft.Build.Framework.LoggerVerbosity verbosity, WriteHandler write, ColorSetter colorSet, ColorResetter colorReset)
 {
 }
Пример #10
0
        public ConsoleLogger(LoggerVerbosity verbosity,
                             WriteHandler write,
                             ColorSetter colorSet,
                             ColorResetter colorReset)
        {
            this.verbosity = verbosity;
            if (write == null)
            {
                this.writeHandler += new WriteHandler(WriteHandlerFunction);
            }
            else
            {
                this.writeHandler += write;
            }
            this.skipProjectStartedText = false;
            this.colorSet   = colorSet;
            this.colorReset = colorReset;

            //defaults
            errorColor       = ConsoleColor.DarkRed;
            warningColor     = ConsoleColor.DarkYellow;
            eventColor       = ConsoleColor.DarkCyan;
            messageColor     = ConsoleColor.DarkGray;
            highMessageColor = ConsoleColor.White;

            // if message color is not set via the env var,
            // then don't use any color for it.
            no_message_color = true;

            use_colors = false;
            if (colorSet == null || colorReset == null)
            {
                return;
            }

            // color support
            string config = Environment.GetEnvironmentVariable("XBUILD_COLORS");

            if (config == null)
            {
                use_colors = true;
                return;
            }

            if (config == "disable")
            {
                return;
            }

            use_colors = true;
            string [] pairs = config.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string pair in pairs)
            {
                string [] parts = pair.Split(new char[] { '=' }, StringSplitOptions.RemoveEmptyEntries);
                if (parts.Length != 2)
                {
                    continue;
                }

                if (parts [0] == "errors")
                {
                    TryParseConsoleColor(parts [1], ref errorColor);
                }
                else if (parts [0] == "warnings")
                {
                    TryParseConsoleColor(parts [1], ref warningColor);
                }
                else if (parts [0] == "events")
                {
                    TryParseConsoleColor(parts [1], ref eventColor);
                }
                else if (parts [0] == "messages")
                {
                    if (TryParseConsoleColor(parts [1], ref messageColor))
                    {
                        highMessageColor = GetBrightColorFor(messageColor);
                        no_message_color = false;
                    }
                }
            }
        }
Пример #11
0
 public ConsoleLogger (LoggerVerbosity verbosity, WriteHandler write, ColorSetter colorSet, ColorResetter colorReset)
 {
         throw new NotImplementedException ();
 }
Пример #12
0
            internal virtual void PrintCounterMessage(WriteLinePrettyFromResourceDelegate WriteLinePrettyFromResource, ColorSetter setColor, ColorResetter resetColor)
            {
                    string time;
                    if (!reenteredScope)
                    {
                        // round: submillisecond values are not meaningful
                        time = String.Format(CultureInfo.CurrentCulture,
                            "{0,5}", Math.Round(elapsedTime.TotalMilliseconds, 0));
                    }
                    else
                    {
                        // no value available; instead display an asterisk
                        time = "    *";
                    }

                    WriteLinePrettyFromResource
                        (
                            2,
                            "PerformanceLine",
                            time,
                            String.Format(CultureInfo.CurrentCulture,
                                    "{0,-40}" /* pad to 40 align left */, scopeName),
                            String.Format(CultureInfo.CurrentCulture,
                                    "{0,3}", calls)
                        );
            }
Пример #13
0
        internal void InitializeConsoleMethods(LoggerVerbosity logverbosity, WriteHandler logwriter, ColorSetter colorSet, ColorResetter colorReset)
        {
            this.verbosity = logverbosity;
            this.write = logwriter;
            IsRunningWithCharacterFileType();
            // This is a workaround, because the Console class provides no way to check that a color
            // can actually be set or not. Color cannot be set if the console has been redirected
            // in certain ways (e.g. how BUILD.EXE does it)
            bool canSetColor = true;

            try
            {
                ConsoleColor c = Console.BackgroundColor;
            }
            catch (IOException)
            {
                // If the attempt to set a color fails with an IO exception then it is
                // likely that the console has been redirected in a way that cannot
                // cope with color (e.g. BUILD.EXE) so don't try to do color again.
                canSetColor = false;
            }

            if ((colorSet != null) && canSetColor)
            {
                this.setColor = colorSet;
            }
            else
            {
                this.setColor = new ColorSetter(DontSetColor);
            }

            if ((colorReset != null) && canSetColor)
            {
                this.resetColor = colorReset;
            }
            else
            {
                this.resetColor = new ColorResetter(DontResetColor);
            }
        }
Пример #14
0
            internal virtual void PrintCounterMessage(WriteLinePrettyFromResourceDelegate WriteLinePrettyFromResource, ColorSetter setColor, ColorResetter resetColor)
            {
                string time;

                if (!reenteredScope)
                {
                    // round: submillisecond values are not meaningful
                    time = String.Format(CultureInfo.CurrentCulture,
                                         "{0,5}", Math.Round(elapsedTime.TotalMilliseconds, 0));
                }
                else
                {
                    // no value available; instead display an asterisk
                    time = "    *";
                }

                WriteLinePrettyFromResource
                (
                    2,
                    "PerformanceLine",
                    time,
                    String.Format(CultureInfo.CurrentCulture,
                                  "{0,-40}" /* pad to 40 align left */, scopeName),
                    String.Format(CultureInfo.CurrentCulture,
                                  "{0,3}", calls)
                );
            }
Пример #15
0
        internal void InitializeConsoleMethods(LoggerVerbosity logverbosity, WriteHandler logwriter, ColorSetter colorSet, ColorResetter colorReset)
        {
            this.verbosity = logverbosity;
            this.write     = logwriter;
            IsRunningWithCharacterFileType();
            // This is a workaround, because the Console class provides no way to check that a color
            // can actually be set or not. Color cannot be set if the console has been redirected
            // in certain ways (e.g. how BUILD.EXE does it)
            bool canSetColor = true;

            try
            {
                ConsoleColor c = Console.BackgroundColor;
            }
            catch (IOException)
            {
                // If the attempt to set a color fails with an IO exception then it is
                // likely that the console has been redirected in a way that cannot
                // cope with color (e.g. BUILD.EXE) so don't try to do color again.
                canSetColor = false;
            }

            if ((colorSet != null) && canSetColor)
            {
                this.setColor = colorSet;
            }
            else
            {
                this.setColor = new ColorSetter(DontSetColor);
            }

            if ((colorReset != null) && canSetColor)
            {
                this.resetColor = colorReset;
            }
            else
            {
                this.resetColor = new ColorResetter(DontResetColor);
            }
        }
Пример #16
0
 /// <summary>
 /// Initializes the logger, with alternate output handlers.
 /// </summary>
 /// <param name="verbosity"></param>
 /// <param name="write"></param>
 /// <param name="colorSet"></param>
 /// <param name="colorReset"></param>
 public ConsoleLogger
 (
     LoggerVerbosity verbosity,
     WriteHandler write,
     ColorSetter colorSet,
     ColorResetter colorReset
 )
 {
     ErrorUtilities.VerifyThrowArgumentNull(write, "write");
     _verbosity = verbosity;
     _write = write;
     _colorSet = colorSet;
     _colorReset = colorReset;
 }
Пример #17
0
        /// <summary>
        /// This is called by every event handler for compat reasons -- see DDB #136924
        /// However it will skip after the first call
        /// </summary>
        private void InitializeBaseConsoleLogger()
        {
            if (_consoleLogger == null)
            {
                bool useMPLogger = false;
                bool disableConsoleColor = false;
                bool forceConsoleColor = false;
                if (!string.IsNullOrEmpty(_parameters))
                {
                    string[] parameterComponents = _parameters.Split(BaseConsoleLogger.parameterDelimiters);
                    for (int param = 0; param < parameterComponents.Length; param++)
                    {
                        if (parameterComponents[param].Length > 0)
                        {
                            if (0 == String.Compare(parameterComponents[param], "ENABLEMPLOGGING", StringComparison.OrdinalIgnoreCase))
                            {
                                useMPLogger = true;
                            }
                            if (0 == String.Compare(parameterComponents[param], "DISABLEMPLOGGING", StringComparison.OrdinalIgnoreCase))
                            {
                                useMPLogger = false;
                            }
                            if (0 == String.Compare(parameterComponents[param], "DISABLECONSOLECOLOR", StringComparison.OrdinalIgnoreCase))
                            {
                                disableConsoleColor = true;
                            }
                            if (0 == String.Compare(parameterComponents[param], "FORCECONSOLECOLOR", StringComparison.OrdinalIgnoreCase))
                            {
                                forceConsoleColor = true;
                            }
                        }
                    }
                }

                if (forceConsoleColor)
                {
                    _colorSet = new ColorSetter(BaseConsoleLogger.SetColorANSI);
                    _colorReset = new ColorResetter(BaseConsoleLogger.ResetColorANSI);
                }
                else if (disableConsoleColor)
                {
                    _colorSet = new ColorSetter(BaseConsoleLogger.DontSetColor);
                    _colorReset = new ColorResetter(BaseConsoleLogger.DontResetColor);
                }

                if (_numberOfProcessors == 1 && !useMPLogger)
                {
                    _consoleLogger = new SerialConsoleLogger(_verbosity, _write, _colorSet, _colorReset);
                }
                else
                {
                    _consoleLogger = new ParallelConsoleLogger(_verbosity, _write, _colorSet, _colorReset);
                }

                if (!string.IsNullOrEmpty(_parameters))
                {
                    _consoleLogger.Parameters = _parameters;
                    _parameters = null;
                }

                if (_showSummary != null)
                {
                    _consoleLogger.ShowSummary = (bool)_showSummary;
                }

                _consoleLogger.SkipProjectStartedText = _skipProjectStartedText;
            }
        }
	public ConsoleLogger(Microsoft.Build.Framework.LoggerVerbosity verbosity, WriteHandler write, ColorSetter colorSet, ColorResetter colorReset) {}
Пример #19
0
 public QBLogger(LoggerVerbosity verbosity, WriteHandler write, ColorSetter colorSet, ColorResetter colorReset)
     : base(verbosity, write, colorSet, colorReset)
 {
 }
Пример #20
0
        /// <summary>
        /// This is called by every event handler for compat reasons -- see DDB #136924
        /// However it will skip after the first call
        /// </summary>
        private void InitializeBaseConsoleLogger()
        {
            if (_consoleLogger != null)
            {
                return;
            }

            bool useMPLogger         = false;
            bool disableConsoleColor = false;
            bool forceConsoleColor   = false;

            if (!string.IsNullOrEmpty(_parameters))
            {
                string[] parameterComponents = _parameters.Split(BaseConsoleLogger.parameterDelimiters);
                foreach (string param in parameterComponents)
                {
                    if (param.Length <= 0)
                    {
                        continue;
                    }

                    if (0 == string.Compare(param, "ENABLEMPLOGGING", StringComparison.OrdinalIgnoreCase))
                    {
                        useMPLogger = true;
                    }
                    if (0 == string.Compare(param, "DISABLEMPLOGGING", StringComparison.OrdinalIgnoreCase))
                    {
                        useMPLogger = false;
                    }
                    if (0 == string.Compare(param, "DISABLECONSOLECOLOR", StringComparison.OrdinalIgnoreCase))
                    {
                        disableConsoleColor = true;
                    }
                    if (0 == string.Compare(param, "FORCECONSOLECOLOR", StringComparison.OrdinalIgnoreCase))
                    {
                        forceConsoleColor = true;
                    }
                }
            }

            if (forceConsoleColor)
            {
                _colorSet   = BaseConsoleLogger.SetColorAnsi;
                _colorReset = BaseConsoleLogger.ResetColorAnsi;
            }
            else if (disableConsoleColor)
            {
                _colorSet   = BaseConsoleLogger.DontSetColor;
                _colorReset = BaseConsoleLogger.DontResetColor;
            }

            if (_numberOfProcessors == 1 && !useMPLogger)
            {
                _consoleLogger = new SerialConsoleLogger(_verbosity, _write, _colorSet, _colorReset);
            }
            else
            {
                _consoleLogger = new ParallelConsoleLogger(_verbosity, _write, _colorSet, _colorReset);
            }

            if (_showSummary != null)
            {
                _consoleLogger.ShowSummary = _showSummary;
            }

            if (!string.IsNullOrEmpty(_parameters))
            {
                _consoleLogger.Parameters = _parameters;
                _parameters = null;
            }



            _consoleLogger.SkipProjectStartedText = _skipProjectStartedText;
        }
Пример #21
0
 public ConsoleLogger(LoggerVerbosity verbosity, WriteHandler write, ColorSetter colorSet, ColorResetter colorReset)
 {
     throw new NotImplementedException();
 }
Пример #22
0
		public ConsoleLogger (LoggerVerbosity verbosity,
				      WriteHandler write,
				      ColorSetter colorSet,
				      ColorResetter colorReset)
		{
			this.verbosity = verbosity;
			this.indent = 0;
			this.errorCount = 0;
			this.warningCount = 0;
			if (write == null)
				this.writeHandler += new WriteHandler (WriteHandlerFunction);
			else
				this.writeHandler += write;
			this.performanceSummary = false;
			this.showSummary = true;
			this.skipProjectStartedText = false;
			errors = new List<string> ();
			warnings = new List<string> ();
			this.colorSet = colorSet;
			this.colorReset = colorReset;

			events = new List<BuildStatusEventArgs> ();
			errorsTable = new Dictionary<string, List<string>> ();
			warningsTable = new Dictionary<string, List<string>> ();

			//defaults
			errorColor = ConsoleColor.DarkRed;
			warningColor = ConsoleColor.DarkYellow;
			eventColor = ConsoleColor.DarkCyan;
			messageColor = ConsoleColor.DarkGray;
			highMessageColor = ConsoleColor.White;

			// if message color is not set via the env var,
			// then don't use any color for it.
			no_message_color = true;

			use_colors = false;
			if (colorSet == null || colorReset == null)
				return;

			// color support
			string config = Environment.GetEnvironmentVariable ("XBUILD_COLORS");
			if (config == null) {
				use_colors = true;
				return;
			}

			if (config == "disable")
				return;

			use_colors = true;
			string [] pairs = config.Split (new char[] {','}, StringSplitOptions.RemoveEmptyEntries);
			foreach (string pair in pairs) {
				string [] parts = pair.Split (new char[] {'='}, StringSplitOptions.RemoveEmptyEntries);
				if (parts.Length != 2)
					continue;

				if (parts [0] == "errors")
					TryParseConsoleColor (parts [1], ref errorColor);
				else if (parts [0] == "warnings")
					TryParseConsoleColor (parts [1], ref warningColor);
				else if (parts [0] == "events")
					TryParseConsoleColor (parts [1], ref eventColor);
				else if (parts [0] == "messages") {
					if (TryParseConsoleColor (parts [1], ref messageColor)) {
						highMessageColor = GetBrightColorFor (messageColor);
						no_message_color = false;
					}
				}
			}
		}