From 82bcd4ba9cb14e6592fb3c4d3c8081319f4da564 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Mon, 27 Apr 2015 18:26:19 +0200 Subject: [PATCH] Print escape characters to logger --- src/main/java/net/pterodactylus/irc/DefaultConnection.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/pterodactylus/irc/DefaultConnection.java b/src/main/java/net/pterodactylus/irc/DefaultConnection.java index 876aefb..194caf7 100644 --- a/src/main/java/net/pterodactylus/irc/DefaultConnection.java +++ b/src/main/java/net/pterodactylus/irc/DefaultConnection.java @@ -500,11 +500,23 @@ public class DefaultConnection extends AbstractExecutionThreadService implements commandBuilder.append(parameter); } - logger.trace(String.format(">> %s", commandBuilder)); + logger.trace(String.format(">> %s", addEscapeCharacters(commandBuilder))); outputStream.write((commandBuilder.toString() + "\r\n").getBytes("UTF-8")); outputStream.flush(); } + private String addEscapeCharacters(StringBuilder commandBuilder) { + StringBuilder escaped = new StringBuilder(); + for (char c : commandBuilder.toString().toCharArray()) { + if (c < 32) { + escaped.append("\\CTRL[").append((int) c).append("]"); + } else { + escaped.append(c); + } + } + return escaped.toString(); + } + /** * Reads a line of reply from the connection. * -- 2.7.4