diff --git a/src/PowerShellEditorServices.Protocol/MessageProtocol/MessageReader.cs b/src/PowerShellEditorServices.Protocol/MessageProtocol/MessageReader.cs index 5323774f8..66f75c375 100644 --- a/src/PowerShellEditorServices.Protocol/MessageProtocol/MessageReader.cs +++ b/src/PowerShellEditorServices.Protocol/MessageProtocol/MessageReader.cs @@ -112,13 +112,20 @@ public async Task ReadMessage() // Load the message this.logger.Write( - LogLevel.Verbose, + LogLevel.Diagnostic, string.Format( "READ MESSAGE:\r\n\r\n{0}", messageObject.ToString(Formatting.Indented))); // Return the parsed message - return this.messageSerializer.DeserializeMessage(messageObject); + Message parsedMessage = this.messageSerializer.DeserializeMessage(messageObject); + + this.logger.Write( + LogLevel.Verbose, + $"Received {parsedMessage.MessageType} '{parsedMessage.Method}'" + + (!string.IsNullOrEmpty(parsedMessage.Id) ? $" with id {parsedMessage.Id}" : string.Empty)); + + return parsedMessage; } #endregion diff --git a/src/PowerShellEditorServices.Protocol/MessageProtocol/MessageWriter.cs b/src/PowerShellEditorServices.Protocol/MessageProtocol/MessageWriter.cs index e196472f0..c618fa104 100644 --- a/src/PowerShellEditorServices.Protocol/MessageProtocol/MessageWriter.cs +++ b/src/PowerShellEditorServices.Protocol/MessageProtocol/MessageWriter.cs @@ -58,9 +58,14 @@ public async Task WriteMessage(Message messageToWrite) this.messageSerializer.SerializeMessage( messageToWrite); - // Log the JSON representation of the message this.logger.Write( LogLevel.Verbose, + $"Writing {messageToWrite.MessageType} '{messageToWrite.Method}'" + + (!string.IsNullOrEmpty(messageToWrite.Id) ? $" with id {messageToWrite.Id}" : string.Empty)); + + // Log the JSON representation of the message + this.logger.Write( + LogLevel.Diagnostic, string.Format( "WRITE MESSAGE:\r\n\r\n{0}", JsonConvert.SerializeObject( diff --git a/src/PowerShellEditorServices/Utility/ILogger.cs b/src/PowerShellEditorServices/Utility/ILogger.cs index e5c91afd4..388cef621 100644 --- a/src/PowerShellEditorServices/Utility/ILogger.cs +++ b/src/PowerShellEditorServices/Utility/ILogger.cs @@ -16,6 +16,11 @@ namespace Microsoft.PowerShell.EditorServices.Utility /// public enum LogLevel { + /// + /// Indicates a diagnostic log message. + /// + Diagnostic, + /// /// Indicates a verbose log message. ///