コード例 #1
0
 public void OnWindowLogMessage(LogMessageParams param)
 {
     if (param_.logger.IsTraceEnabled)
     {
         param_.logger.Trace(String.Format("[OnWindowLogMessage]{0}", param.message));
     }
 }
コード例 #2
0
 public void LogMessage(LogMessageParams @params)
 {
     _connection.SendNotification(new NotificationMessage <LogMessageParams>
     {
         method  = "window/logMessage",
         @params = @params
     });
 }
コード例 #3
0
ファイル: UIService.cs プロジェクト: Jiaoma/PTVS
        public Task LogMessage(string message, MessageType messageType)
        {
            var parameters = new LogMessageParams {
                type    = messageType,
                message = message
            };

            return(_rpc.NotifyWithParameterObjectAsync("window/logMessage", parameters));
        }
コード例 #4
0
        internal void Log(LogLevel level, string message)
        {
            var logMessage = new LogMessageParams {
                Level   = level,
                Message = message
            };

            rpc.InvokeAsync(Methods.LogName, logMessage).Wait();
        }
コード例 #5
0
ファイル: UIService.cs プロジェクト: xyongy/PTVS
        public Task LogMessage(string message, MessageType messageType)
        {
            var parameters = new LogMessageParams {
                type    = messageType,
                message = message
            };

            return(_rpc.InvokeAsync <MessageActionItem?>("window/logMessage", parameters));
        }
コード例 #6
0
        /// <summary>
        ///     Emit a log event.
        /// </summary>
        /// <param name="logEvent">
        ///     The log event information.
        /// </param>
        public void Emit(LogEvent logEvent)
        {
            if (_hasServerShutDown)
            {
                return;
            }

            if (logEvent.Level < _levelSwitch.MinimumLevel)
            {
                return;
            }

            LogMessageParams logParameters = new LogMessageParams
            {
                Message = logEvent.RenderMessage()
            };

            if (logEvent.Exception != null)
            {
                logParameters.Message += "\n" + logEvent.Exception.ToString();
            }

            switch (logEvent.Level)
            {
            case LogEventLevel.Error:
            case LogEventLevel.Fatal:
            {
                logParameters.Type = MessageType.Error;

                break;
            }

            case LogEventLevel.Warning:
            {
                logParameters.Type = MessageType.Warning;

                break;
            }

            case LogEventLevel.Information:
            {
                logParameters.Type = MessageType.Info;

                break;
            }

            default:
            {
                logParameters.Type = MessageType.Log;

                break;
            }
            }

            _languageServer.LogMessage(logParameters);
        }
コード例 #7
0
        public void LogMessage(object arg, string message, MessageType messageType)
        {
            LogMessageParams parameter = new LogMessageParams
            {
                Message     = message,
                MessageType = messageType
            };

            this.rpc.NotifyWithParameterObjectAsync(Methods.WindowLogMessageName, parameter);
        }
コード例 #8
0
        public void LogMessage(string message, MessageType messageType)
        {
            LogMessageParams parameter = new LogMessageParams
            {
                Message     = message,
                MessageType = messageType
            };

#pragma warning disable VSTHRD110
            rpc.NotifyWithParameterObjectAsync(Methods.WindowLogMessageName, parameter);
#pragma warning restore VSTHRD110
        }
コード例 #9
0
        private void SendLogMessage(string text)
        {
            var logMessageParams = new LogMessageParams()
            {
                Message = text,
                // A log message
                // TODO: Introduce an enum for this
                Type = 4
            };

            _messageWriter.WriteNotification("window/logMessage", logMessageParams);
        }
コード例 #10
0
ファイル: UIService.cs プロジェクト: MikhailArkhipov/vscode-r
        public Task LogMessageAsync(string message, MessageType messageType)
        {
            if (messageType > _logLevel)
            {
                return(Task.CompletedTask);
            }
            var parameters = new LogMessageParams {
                type    = messageType,
                message = message
            };

            return(_rpc.NotifyWithParameterObjectAsync("window/logMessage", parameters));
        }
コード例 #11
0
        public Task LogMessageAsync(string message, TraceEventType eventType)
        {
            if (eventType > LogLevel && eventType != TraceEventType.Information)
            {
                return(Task.CompletedTask);
            }
            var parameters = new LogMessageParams {
                type    = eventType.ToMessageType(),
                message = message
            };

            return(_clientApp.NotifyWithParameterObjectAsync("window/logMessage", parameters));
        }
        public void SimpleTest(string expected)
        {
            var model = new LogMessageParams {
                Message = "message",
                Type    = MessageType.Error
            };
            var result = Fixture.SerializeObject(model);

            result.Should().Be(expected);

            var deresult = new LspSerializer(ClientVersion.Lsp3).DeserializeObject <LogMessageParams>(expected);

            deresult.Should().BeEquivalentTo(model);
        }
        public void SimpleTest(string expected)
        {
            var model = new LogMessageParams()
            {
                Message = "message",
                Type    = MessageType.Error
            };
            var result = Fixture.SerializeObject(model);

            result.Should().Be(expected);

            var deresult = JsonConvert.DeserializeObject <LogMessageParams>(expected);

            deresult.ShouldBeEquivalentTo(model);
        }
コード例 #14
0
        void LogMessage(LogMessageParams message)
        {
            string fullMessage = string.Format("LanguageServer[{0}]: {1}", session.Id, message.Message);

            switch (message.MessageType)
            {
            case MessageType.Error:
                LanguageClientOutputPad.WriteError(fullMessage);
                break;

            default:
                LanguageClientOutputPad.WriteText(fullMessage);
                break;
            }
        }
コード例 #15
0
        private void RequestExecutionQueue_Errored(object sender, RequestShutdownEventArgs e)
        {
            // log message and shut down

            var message = new LogMessageParams()
            {
                MessageType = MessageType.Error,
                Message     = e.Message
            };

            var asyncToken = _listener.BeginAsyncOperation(nameof(RequestExecutionQueue_Errored));

            Task.Run(async() =>
            {
                await _jsonRpc.NotifyWithParameterObjectAsync(Methods.WindowLogMessageName, message).ConfigureAwait(false);

                // The "default" here is the cancellation token, which these methods don't use, hence the discard name
                await ShutdownAsync(_: default).ConfigureAwait(false);
コード例 #16
0
        private void RequestExecutionQueue_Errored(object?sender, RequestShutdownEventArgs e)
        {
            // log message and shut down
            Logger?.TraceWarning($"Request queue is requesting shutdown due to error: {e.Message}");

            var message = new LogMessageParams()
            {
                MessageType = MessageType.Error,
                Message     = e.Message
            };

            var asyncToken = Listener.BeginAsyncOperation(nameof(RequestExecutionQueue_Errored));

            _errorShutdownTask = Task.Run(async() =>
            {
                Logger?.TraceInformation("Shutting down language server.");

                await JsonRpc.NotifyWithParameterObjectAsync(Methods.WindowLogMessageName, message).ConfigureAwait(false);

                ShutdownImpl();
                ExitImpl();
            }).CompletesAsyncOperation(asyncToken);
        }
 public static void LogMessage(this IResponseRouter mediator, LogMessageParams @params)
 {
     mediator.SendNotification(WindowNames.LogMessage, @params);
 }
 public static void Log(this IResponseRouter mediator, LogMessageParams @params)
 {
     mediator.LogMessage(@params);
 }
コード例 #19
0
        /// <summary>
        ///     Emit a log event.
        /// </summary>
        /// <param name="logEvent">
        ///     The log event information.
        /// </param>
        public void Emit(LogEvent logEvent)
        {
            if (!CanLog)
            {
                return;
            }

            if (logEvent.Level < _levelSwitch.MinimumLevel)
            {
                return;
            }

            StringBuilder messageBuilder = new StringBuilder();

            using (StringWriter messageWriter = new StringWriter(messageBuilder))
            {
                logEvent.RenderMessage(messageWriter);
            }
            if (logEvent.Exception != null)
            {
                messageBuilder.AppendLine();
                messageBuilder.Append(
                    logEvent.Exception.ToString()
                    );
            }

            LogMessageParams logParameters = new LogMessageParams
            {
                Message = messageBuilder.ToString()
            };

            switch (logEvent.Level)
            {
            case LogEventLevel.Error:
            case LogEventLevel.Fatal:
            {
                logParameters.Type = MessageType.Error;

                break;
            }

            case LogEventLevel.Warning:
            {
                logParameters.Type = MessageType.Warning;

                break;
            }

            case LogEventLevel.Information:
            {
                logParameters.Type = MessageType.Info;

                break;
            }

            default:
            {
                logParameters.Type = MessageType.Log;

                break;
            }
            }

            _languageServer.LogMessage(logParameters);
        }
コード例 #20
0
 public static void Log(this ILanguageServer mediator, LogMessageParams @params)
 {
     mediator.LogMessage(@params);
 }
コード例 #21
0
 public abstract Task <Unit> Handle(LogMessageParams request, CancellationToken cancellationToken);
コード例 #22
0
 public override Task <Unit> Handle(LogMessageParams request, CancellationToken cancellationToken) => _handler.Invoke(request, cancellationToken);
コード例 #23
0
 public static void LogMessage(this ILanguageServerWindow mediator, LogMessageParams @params)
 {
     mediator.SendNotification(WindowNames.LogMessage, @params);
 }
コード例 #24
0
 public static void LogMessage(this ILanguageServer mediator, LogMessageParams @params)
 {
     mediator.SendNotification("window/logMessage", @params);
 }
コード例 #25
0
 public static void Log(this IWindowLanguageServer mediator, LogMessageParams @params) => mediator.LogMessage(@params);