This is an automated email from the ASF dual-hosted git repository.

aradzinski pushed a commit to branch NLPCRAFT-108
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git


The following commit(s) were added to refs/heads/NLPCRAFT-108 by this push:
     new 69e0da3  WIP.
69e0da3 is described below

commit 69e0da31ee60e19201bf64f7a48d5de55f3c2e10
Author: Aaron Radzinski <[email protected]>
AuthorDate: Thu Sep 24 20:59:28 2020 -0700

    WIP.
---
 .../main/scala/org/apache/nlpcraft/NCStart.scala   |  2 +-
 .../apache/nlpcraft/common/ansi/NCAnsiColor.scala  |  8 +++++++
 .../nlpcraft/common/ascii/NCAsciiTable.scala       | 12 +++++-----
 .../org/apache/nlpcraft/common/util/NCUtils.scala  | 10 ++++----
 .../apache/nlpcraft/model/impl/NCTokenLogger.scala |  4 ++--
 .../model/intent/impl/NCIntentSolver.scala         |  2 +-
 .../model/intent/impl/NCIntentSolverEngine.scala   |  6 ++---
 .../model/tools/cmdline/NCCommandLine.scala        |  8 +++----
 .../model/tools/test/NCTestAutoModelValidator.java |  5 +---
 .../test/impl/NCTestAutoModelValidatorImpl.scala   |  4 ++--
 .../probe/mgrs/conn/NCConnectionManager.scala      | 28 +++++++++-------------
 .../nlpcraft/probe/mgrs/model/NCModelManager.scala | 10 ++++----
 .../probe/mgrs/nlp/NCProbeEnrichmentManager.scala  |  2 +-
 .../nlpcraft/server/probe/NCProbeManager.scala     | 11 +++++----
 .../nlpcraft/server/query/NCQueryManager.scala     |  2 +-
 15 files changed, 57 insertions(+), 57 deletions(-)

diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCStart.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCStart.scala
index a4d86af..c0d6f59 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/NCStart.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/NCStart.scala
@@ -63,7 +63,7 @@ object NCStart extends App with LazyLogging {
             for (msg ← msgs)
                 logger.error(msg)
     
-            logger.info(s"${ansiGreenFg}Usage:$ansiReset")
+            logger.info(ansiGreen("Usage:"))
             logger.info("  Use '-server' argument to start server.")
             logger.info("  Use '-probe' argument to start probe.")
 
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiColor.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiColor.scala
index 8bced4f..b140b14 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiColor.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ansi/NCAnsiColor.scala
@@ -73,6 +73,14 @@ trait NCAnsiColor extends LazyLogging {
     def ansiReversed: String = if (isEnabled) REVERSED else ""
     def ansiBlink: String = if (isEnabled) BLINK else ""
     def ansiInvisible: String = if (isEnabled) INVISIBLE else ""
+
+    def ansiGreen(s: String): String = s"$ansiGreenFg$s$ansiReset"
+    def ansiRed(s: String): String = s"$ansiRedFg$s$ansiReset"
+    def ansiCyan(s: String): String = s"$ansiCyanFg$s$ansiReset"
+    def ansiYellow(s: String): String = s"$ansiYellowFg$s$ansiReset"
+    def ansiBlack(s: String): String = s"$ansiBlackFg$s$ansiReset"
+    def ansiWhite(s: String): String = s"$ansiWhiteFg$s$ansiReset"
+    def ansiBlue(s: String): String = s"$ansiBlueFg$s$ansiReset"
 }
 
 object NCAnsiColor extends NCAnsiColor {
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ascii/NCAsciiTable.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ascii/NCAsciiTable.scala
index f8d645c..daf586a 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ascii/NCAsciiTable.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/ascii/NCAsciiTable.scala
@@ -109,12 +109,12 @@ class NCAsciiTable {
     )
 
     // Table drawing symbols.
-    private val HDR_HOR = s"$ansiCyanFg=$ansiReset"
-    private val HDR_VER = s"$ansiCyanFg|$ansiReset"
-    private val HDR_CRS = s"$ansiBlueFg+$ansiReset"
-    private val ROW_HOR = s"$ansiCyanFg-$ansiReset"
-    private val ROW_VER = s"$ansiCyanFg|$ansiReset"
-    private val ROW_CRS = s"$ansiBlueFg+$ansiReset"
+    private val HDR_HOR = ansiCyan("=")
+    private val HDR_VER = ansiCyan("|")
+    private val HDR_CRS = ansiBlue("+")
+    private val ROW_HOR = ansiCyan("-")
+    private val ROW_VER = ansiCyan("|")
+    private val ROW_CRS = ansiBlue("+")
 
     // Headers & rows.
     private var hdr = IndexedSeq.empty[Cell]
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
index 83ec8a6..96a7e88 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/common/util/NCUtils.scala
@@ -1406,7 +1406,7 @@ object NCUtils extends LazyLogging {
                     s"$errMsg $ansiCyanFg->$ansiReset ($fileName:$lineNum)"
 
             msg.split("\n").foreach(line ⇒ {
-                val s = s"${" " * indent}${if (first) s"$ansiRedFg+- 
$ansiReset" else "  "}${line.trim}"
+                val s = s"${" " * indent}${if (first) ansiRed("+- ") else "  
"}${line.trim}"
 
                 if (err) logger.error(s) else logger.warn(s)
 
@@ -1490,12 +1490,12 @@ object NCUtils extends LazyLogging {
 
         for (ch ← json) {
             ch match {
-                case ':' if !inQuotes ⇒ buf ++= s"$ansiRedFg:$ansiReset"
-                case '[' | ']' | '{' | '}' if !inQuotes ⇒ buf ++= 
s"$ansiYellowFg$ch$ansiReset"
-                case ',' if !inQuotes ⇒ buf ++= s"$ansiGreenFg$ch$ansiReset"
+                case ':' if !inQuotes ⇒ buf ++= ansiRed(":")
+                case '[' | ']' | '{' | '}' if !inQuotes ⇒ buf ++= 
ansiYellow(s"$ch")
+                case ',' if !inQuotes ⇒ buf ++= ansiGreen(s"$ch")
                 case '"' ⇒
                     if (inQuotes)
-                        buf ++= s"$ansiBlueFg$ch$ansiReset"
+                        buf ++= ansiBlue(s"$ch")
                     else
                         buf ++= s"$ansiBlueFg$ch$ansiCyanFg"
 
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala
index fc47ff5..0598912 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/impl/NCTokenLogger.scala
@@ -429,9 +429,9 @@ object NCTokenLogger extends LazyLogging {
 
             val origTxtStr =
                 if (tok.isStopWord)
-                    s"$ansiRedFg${tok.origText}$ansiReset"
+                    ansiRed(tok.origText)
                 else if (tok.isFreeWord)
-                    s"$ansiYellowFg${tok.origText}$ansiReset"
+                    ansiYellow(tok.origText)
                 else
                     tok.origText
 
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolver.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolver.scala
index 322856b..267cf91 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolver.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolver.scala
@@ -151,7 +151,7 @@ class NCIntentSolver(intents: List[(NCDslIntent/*Intent*/, 
NCIntentMatch ⇒ NCR
                 if (cbRes.getIntentId == null)
                     cbRes.setIntentId(res.intentId)
                     
-                logger.info(s"Intent '${res.intentId}' for variant 
#${res.variantIdx + 1} selected as the $ansiRedFg<<best match>>.$ansiReset")
+                logger.info(s"Intent '${res.intentId}' for variant 
#${res.variantIdx + 1} selected as the ${ansiRed("<<best match>>")}")
 
                 NCDialogFlowManager.addMatchedIntent(res.intentId, 
req.getUser.getId, ctx.getModel.getId, span)
                 
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolverEngine.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolverEngine.scala
index dd7f876..0ca1897 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolverEngine.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/intent/impl/NCIntentSolverEngine.scala
@@ -249,11 +249,11 @@ object NCIntentSolverEngine extends LazyLogging with 
NCOpenCensusTrace {
                         tbl += (
                             Seq(
                                 s"#${m.variantIdx + 1}",
-                                s"$ansiRedFg<<best match>>$ansiReset"
+                                ansiRed("<<best match")
                             ),
                             Seq(
                                 im.intent.id,
-                                s"$ansiRedFg<<best match>>$ansiReset"
+                                ansiRed("<<best match")
                             ),
                             mkPickTokens(im)
                         )
@@ -276,7 +276,7 @@ object NCIntentSolverEngine extends LazyLogging with 
NCOpenCensusTrace {
                         )
                 })
 
-                tbl.info(logger, Some(s"Found matching intents (sorted 
${ansiRedFg}best$ansiReset to worst):"))
+                tbl.info(logger, Some(s"Found matching intents (sorted 
${ansiRed("best")} to worst):"))
             }
             else
                 logger.info("No matching intent found.")
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCommandLine.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCommandLine.scala
index f7a3cdb..8647df6 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCommandLine.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCommandLine.scala
@@ -367,7 +367,7 @@ object NCCommandLine extends App {
                         else
                             s"$T___${param.names.mkString(", ")}"
 
-                    lines += s"$ansiCyanFg$line$ansiReset"
+                    lines += ansiCyan(line)
 
                     if (param.optional)
                         lines += s"$T___${T___}Optional."
@@ -494,7 +494,7 @@ object NCCommandLine extends App {
         // Make sure we exit with non-zero status.
         exitStatus = 1
 
-        System.err.println(s"${ansiRedFg}ERR:$ansiReset $msg")
+        System.err.println(s"${ansiRed("ERR")} $msg")
     }
 
     /**
@@ -507,13 +507,13 @@ object NCCommandLine extends App {
      *
      * @param msg
      */
-    private def confirm(msg: String): Unit = 
System.out.println(s"${ansiGreenFg}>$ansiReset $msg")
+    private def confirm(msg: String): Unit = 
System.out.println(s"${ansiGreen(">")} $msg")
 
     /**
      *
      */
     private def errorHelp(): Unit =
-        error(s"Run '$ansiCyanFg$SCRIPT_NAME ${HELP_CMD.mainName}$ansiReset' 
to read the manual.")
+        error(s"Run '${ansiCyan("$SCRIPT_NAME ${HELP_CMD.mainName")}' to read 
the manual.")
 
     /**
      * Prints out the version and copyright title header.
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.java
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.java
index 5596b0a..1f15ff5 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.java
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/NCTestAutoModelValidator.java
@@ -66,10 +66,7 @@ public class NCTestAutoModelValidator {
      *      output will be printed out to the configured logger.
      */
     public static void main(String[] args) throws Exception {
-        NCTestAutoModelValidatorImpl.isValid();
-
-        // TODO: uncomment once the hanging on exit is fixed.
-        // System.exit(NCTestAutoModelValidatorImpl.isValid() ? 0 : 1);
+        System.exit(NCTestAutoModelValidatorImpl.isValid() ? 0 : 1);
     }
 
     /**
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/impl/NCTestAutoModelValidatorImpl.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/impl/NCTestAutoModelValidatorImpl.scala
index 8c680dd..b6d7d31 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/impl/NCTestAutoModelValidatorImpl.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/test/impl/NCTestAutoModelValidatorImpl.scala
@@ -110,7 +110,7 @@ private [test] object NCTestAutoModelValidatorImpl extends 
LazyLogging {
             tbl += (
                 res.modelId,
                 res.intentId,
-                if (res.pass) s"${ansiGreenFg}OK$ansiReset" else 
s"${ansiRedFg}FAIL$ansiReset",
+                if (res.pass) ansiGreen("OK") else ansiRed("FAIL"),
                 res.text,
                 res.error.getOrElse("")
             )
@@ -119,7 +119,7 @@ private [test] object NCTestAutoModelValidatorImpl extends 
LazyLogging {
         val failCnt = results.count(!_.pass)
         
         logger.info(s"Model auto-validation results: " +
-            s"${ansiGreenFg}OK$ansiReset $passCnt, ${ansiRedFg}FAIL$ansiReset 
$failCnt:\n${tbl.toString}"
+            s"${ansiGreen("OK")} $passCnt, ${ansiRed("FAIL")} 
$failCnt:\n${tbl.toString}"
         )
         
         failCnt == 0
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala
index e9bd5e9..22a23f9 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/conn/NCConnectionManager.scala
@@ -319,7 +319,7 @@ object NCConnectionManager extends NCService {
             
             while (!t.isInterrupted)
                 try {
-                    logger.info(s"Establishing REST server connection to [" +
+                    logger.info(s"Connecting to REST server [" +
                         s"uplink=${Config.upLinkString}, " +
                         s"downlink=${Config.downLinkString}" +
                         s"]")
@@ -356,7 +356,7 @@ object NCConnectionManager extends NCService {
                             catch {
                                 case _: InterruptedIOException | _: 
InterruptedException ⇒ ()
                                 case _: EOFException ⇒ exit(t, s"Uplink REST 
server connection closed.")
-                                case e: Exception ⇒ exit(t, s"Uplink 
connection failed: ${e.getMessage}")
+                                case e: Exception ⇒ exit(t, s"Uplink 
connection failed.", e)
                             }
                     }
                     
@@ -391,7 +391,7 @@ object NCConnectionManager extends NCService {
                             catch {
                                 case _: InterruptedIOException | _: 
InterruptedException ⇒ ()
                                 case _: EOFException ⇒ exit(t, s"Downlink REST 
server connection closed.")
-                                case e: Exception ⇒ exit(t, s"Downlink 
connection failed: ${e.getMessage}")
+                                case e: Exception ⇒ exit(t, s"Downlink 
connection failed.", e)
                             }
                     }
             
@@ -402,7 +402,7 @@ object NCConnectionManager extends NCService {
                     // Indicate that server connection is established.
                     ctrlLatch.countDown()
                     
-                    logger.info("REST server connection established.")
+                    logger.info("REST server connected.")
                     
                     // Wait until probe connection is closed.
                     while (!t.isInterrupted && exitLatch.getCount > 0) 
U.ignoreInterrupt {
@@ -412,7 +412,7 @@ object NCConnectionManager extends NCService {
                     closeAll()
                     
                     if (!isStopping) {
-                        logger.warn(s"REST server connection closed (retrying 
in ${RETRY_TIMEOUT / 1000}s).")
+                        logger.warn(s"REST server connection closed (retry in 
${RETRY_TIMEOUT / 1000}s).")
                     
                         timeout()
                     }
@@ -424,24 +424,18 @@ object NCConnectionManager extends NCService {
                         // Clean up.
                         closeAll()
                     
-                        if (e.getMessage != null)
-                            logger.error(e.getMessage)
-                
                         // Ack the handshake error message.
-                        logger.error(s"Failed during REST server connection 
handshake (aborting).")
+                        U.prettyError(logger, s"Failed REST server connection 
handshake (aborting).", e)
                     
                         abort()
             
                     case e: IOException ⇒
                         // Clean up.
                         closeAll()
-                
-                        // Ack the IO error message.
-                        if (e.getMessage != null)
-                            logger.error(s"Failed to establish REST server 
connection (retrying in ${RETRY_TIMEOUT / 1000}s): ${e.getMessage}")
-                        else
-                            logger.error(s"Failed to establish REST server 
connection (retrying in ${RETRY_TIMEOUT / 1000}s).")
-                    
+
+                        // Ack the error message.
+                        U.prettyError(logger, s"Failed to connect to REST 
server (retry in ${RETRY_TIMEOUT / 1000}s).", e)
+
                         timeout()
             
                     case e: Exception ⇒
@@ -449,7 +443,7 @@ object NCConnectionManager extends NCService {
                         closeAll()
                 
                         // Ack the error message.
-                        U.prettyError(logger, "Unexpected error establishing 
REST server connection:", e)
+                        U.prettyError(logger, "Unexpected error connecting to 
REST server.", e)
                     
                         abort()
                 }
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
index 05b5210..88bac77 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/model/NCModelManager.scala
@@ -66,16 +66,16 @@ object NCModelManager extends NCService with 
DecorateAsScala {
                     Seq(
                         s"${mdl.getName}",
                         s"ID: $ansiBold${mdl.getId}$ansiReset, ver: 
${mdl.getVersion}",
-                        s"Elements: $elmCnt" + (if (elmCnt == 0) s" 
$ansiRedFg(!)$ansiReset" else ""),
-                        s"Synonyms: $synCnt" + (if (synCnt == 0) s" 
$ansiRedFg(!)$ansiReset" else ""),
-                        s"Intents: $intentCnt" + (if (intentCnt == 0) s" 
$ansiRedFg(!)$ansiReset" else "")
+                        s"Elements: $elmCnt" + (if (elmCnt == 0) s" 
${ansiRed("(!)")}" else ""),
+                        s"Synonyms: $synCnt" + (if (synCnt == 0) s" 
${ansiRed("(!)")}" else ""),
+                        s"Intents: $intentCnt" + (if (intentCnt == 0) s" 
${ansiRed("(!)")}" else "")
                     ),
                     w.intents
                         .map(_.toDslString)
                         .flatMap(s ⇒
                             s
-                            .replaceAll("intent=", 
s"${ansiGreenFg}intent$ansiReset=")
-                            .replaceAll(" term", s"\n  
${ansiCyanFg}term$ansiReset").split("\n")
+                            .replaceAll("intent=", s"${ansiGreen("intent")}=")
+                            .replaceAll(" term", s"\n  
${ansiCyan("term")}").split("\n")
                         )
                 )
             })
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
index 3e6ff92..191e228 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/probe/mgrs/nlp/NCProbeEnrichmentManager.scala
@@ -227,7 +227,7 @@ object NCProbeEnrichmentManager extends NCService with 
NCOpenCensusModelStats {
 
         val tbl = NCAsciiTable()
 
-        tbl += (s"${ansiBlueFg}Text$ansiReset", nlpSens.map(s ⇒ 
s"$ansiBold$ansiGreenFg${s.text}$ansiReset"))
+        tbl += (s"${ansiBlueFg}Text$ansiReset", nlpSens.map(s ⇒ 
s"$ansiBold${ansiGreen(s.text)}"))
         tbl += (s"${ansiBlueFg}Model ID$ansiReset", mdlId)
         tbl += (s"${ansiBlueFg}User ID$ansiReset", usrId)
         tbl += (s"$ansiBlueFg  First Name$ansiReset", 
senMeta.getOrElse("FIRST_NAME", ""))
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
index 0889692..59616a8 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/probe/NCProbeManager.scala
@@ -43,6 +43,7 @@ import 
org.apache.nlpcraft.server.nlp.enrichers.NCServerEnrichmentManager
 import org.apache.nlpcraft.server.proclog.NCProcessLogManager
 import org.apache.nlpcraft.server.query.NCQueryManager
 import org.apache.nlpcraft.server.sql.NCSql
+import org.apache.nlpcraft.common.ansi.NCAnsiColor._
 
 import scala.collection.JavaConverters._
 import scala.collection.{Map, mutable}
@@ -465,12 +466,12 @@ object NCProbeManager extends NCService {
                         case _: SocketTimeoutException | _: 
InterruptedException | _: InterruptedIOException ⇒ ()
                     
                         case _: EOFException ⇒
-                            logger.error(s"Probe closed downlink connection: 
${probeKey.short}")
+                            logger.info(s"Probe closed downlink connection: 
${probeKey.short}")
                         
                             t.interrupt()
                     
                         case e: Throwable ⇒
-                            logger.error(s"Error reading probe downlink socket 
(${e.getMessage}): ${probeKey.short}")
+                            U.prettyError(logger, s"Error reading downlink 
socket for probe: ${probeKey.short}", e)
 
                             t.interrupt()
                     }
@@ -801,13 +802,13 @@ object NCProbeManager extends NCService {
         tbl += (
             Seq(
                 probe.probeId,
-                s"  guid: ${probe.probeGuid}",
-                s"  tok: ${probe.probeToken}"
+                s"  ${ansiCyan("guid")}: ${probe.probeGuid}",
+                s"  ${ansiCyan("tok")}: ${probe.probeToken}"
             ),
             s"${probe.osName} ver. ${probe.osVersion}",
             s"${probe.tmzAbbr}, ${probe.tmzId}",
             s"${probe.hostName} (${probe.hostAddr})",
-            probe.models.map(m ⇒ s"${m.id}, v${m.version}").toSeq
+            probe.models.map(m ⇒ s"${ansiBlue(m.id)}, v${m.version}").toSeq
         )
         
         tbl
diff --git 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
index 6eb5e9b..c1d2b26 100644
--- 
a/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
+++ 
b/nlpcraft/src/main/scala/org/apache/nlpcraft/server/query/NCQueryManager.scala
@@ -261,7 +261,7 @@ object NCQueryManager extends NCService with 
NCIgniteInstance with NCOpenCensusS
             startScopedSpan("future", parent, "srvReqId" → srvReqId) { span ⇒
                 val tbl = NCAsciiTable()
 
-                tbl += (s"${ansiBlueFg}Text$ansiReset", 
s"$ansiGreenFg$txt0$ansiReset")
+                tbl += (s"${ansiBlueFg}Text$ansiReset", ansiGreen(txt0))
                 tbl += (s"${ansiBlueFg}User ID$ansiReset", usr.id)
                 tbl += (s"${ansiBlueFg}Model ID$ansiReset", mdlId)
                 tbl += (s"${ansiBlueFg}Agent$ansiReset", 
usrAgent.getOrElse("<n/a>"))

Reply via email to