Dev mode freezes when quitting and console log colors are switched off
### Describe the bug

That is a very strange bug and I'm not sure, if I got it right:

If you 
- disable console log colors with `quarkus.log.console.color=false`, 
- start the application in dev mode,
- wait for Quarkus to come up,
- press `q` for termination the application,
- then the application hangs/freezes: The shell does not return to the promt and cpu usage rises.

### Expected behavior

After pressing `q` in dev mode, the application should terminate.

### Actual behavior

If console log coloring is disabled, pressing `q` in dev mode seems to run into some endless loop.

### How to Reproduce?

Steps to reproduce:

1. Bootstrap the Getting Started project: `mvn io.quarkus:quarkus-maven-plugin:2.1.2.Final:create` using all defaults.
2. Add `quarkus.log.console.color=false` to `application.properties`,
3. Start application in dev mode: `mvn clean quarkus:dev` (the `clean` seems to have some influence; without it, the problem does not appear *every* time ...)
4. Wait for Quarkus to initialize.
5. Press `q`


### Output of `uname -a` or `ver`

Windows 10 Pro

### Output of `java -version`

OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9.1+1, mixed mode)

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

2.1.2.Final

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

Apache Maven 3.8.1

### Additional information

_No response_
diff --git a/core/deployment/src/main/java/io/quarkus/deployment/console/AeshConsole.java b/core/deployment/src/main/java/io/quarkus/deployment/console/AeshConsole.java
index c5aa2f85b85..e7b734ba2ea 100644
--- a/core/deployment/src/main/java/io/quarkus/deployment/console/AeshConsole.java
+++ b/core/deployment/src/main/java/io/quarkus/deployment/console/AeshConsole.java
@@ -66,7 +66,7 @@ public AeshConsole(Connection connection) {
             public void run() {
                 connection.close();
             }
-        }, "Console Shutdown Hoot"));
+        }, "Console Shutdown Hook"));
     }
 
     private void updatePromptOnChange(StringBuilder buffer, int newLines) {
@@ -294,8 +294,15 @@ public void write(String s) {
             return;
         }
         if (closed) {
-            connection.write(s);
-            return;
+            // we need to guard against Aesh logging since the connection.write call, in certain error conditions,
+            // can lead to a logger message write, which can trigger an infinite loop
+            IN_WRITE.set(true);
+            try {
+                connection.write(s);
+                return;
+            } finally {
+                IN_WRITE.set(false);
+            }
         }
         if (lastColorCode != null) {
             s = lastColorCode + s;
['core/deployment/src/main/java/io/quarkus/deployment/console/AeshConsole.java']