public override void Write()

in src/Analyzer.Cli/Loggers/ConsoleLoggerFormatter.cs [45:79]


        public override void Write<TState>(in LogEntry<TState> logEntry, IExternalScopeProvider scopeProvider, TextWriter textWriter)
        {
            var message = logEntry.Formatter?.Invoke(logEntry.State, logEntry.Exception);

            if (message is null)
            {
                return;
            }

            if (logEntry.LogLevel == LogLevel.Error)
            {
                textWriter.Write(GetColorForTextWriter(ConsoleColor.Red));
                textWriter.Write("Error: ");
            }
            else if (logEntry.LogLevel == LogLevel.Warning)
            {
                textWriter.Write(GetColorForTextWriter(ConsoleColor.Yellow));
                textWriter.Write("Warning: ");
            }
            else if (logEntry.LogLevel == LogLevel.Debug)
            {
                textWriter.Write(GetColorForTextWriter(ConsoleColor.Cyan));
                textWriter.Write("Debug information: ");
            }

            textWriter.WriteLine(message);

            if (this.formatterOptions.Verbose && logEntry.Exception != null)
            {
                textWriter.WriteLine("Exception details:");
                textWriter.WriteLine(logEntry.Exception.ToString());
            }

            textWriter.Write(DefaultForegroundColor);
        }