<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/libosmocore/+/16156">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, approved
  fixeria: Looks good to me, but someone else must approve
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">logging.h: define ansi color constants<br><br>It's hard to figure out what color logging categories have with those ANSI<br>color code strings. Instead, define these OSMO_LOGCOLOR_* constants.<br><br>Naming: commonly, the logging.h header has the "LOG" prefix in the name, but it<br>seems saner to include the OSMO_ prefix: it seems too likely that some<br>libosmocore user somewhere already has defined "LOGCOLOR_RED" somewhere.<br><br>Change-Id: I03b6b1f73ae7ee61d37ff921e071a3d0881d3e9a<br>---<br>M include/osmocom/core/logging.h<br>M src/logging.c<br>M tests/logging/logging_test.c<br>M tests/loggingrb/loggingrb_test.c<br>4 files changed, 33 insertions(+), 14 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h</span><br><span>index 139d291..75650ba 100644</span><br><span>--- a/include/osmocom/core/logging.h</span><br><span>+++ b/include/osmocom/core/logging.h</span><br><span>@@ -127,6 +127,25 @@</span><br><span> #define DLRSPRO         -19     /*!< Osmocom Remote SIM Protocol */</span><br><span> #define OSMO_NUM_DLIB 19      /*!< Number of logging sub-systems in libraries */</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* Colors that can be used in log_info_cat.color */</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_NORMAL NULL</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_RED "\033[1;31m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_GREEN "\033[1;32m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_YELLOW "\033[1;33m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_BLUE "\033[1;34m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_PURPLE "\033[1;35m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_CYAN "\033[1;36m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_DARKRED "\033[31m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_DARKGREEN "\033[32m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_DARKYELLOW "\033[33m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_DARKBLUE "\033[34m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_DARKPURPLE "\033[35m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_DARKCYAN "\033[36m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_DARKGREY "\033[1;30m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_GREY "\033[37m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_BRIGHTWHITE "\033[1;37m"</span><br><span style="color: hsl(120, 100%, 40%);">+#define OSMO_LOGCOLOR_END "\033[0;m"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /*! Configuration of single log category / sub-system */</span><br><span> struct log_category {</span><br><span>   uint8_t loglevel;       /*!< configured log-level */</span><br><span>diff --git a/src/logging.c b/src/logging.c</span><br><span>index b030f8a..7baa777 100644</span><br><span>--- a/src/logging.c</span><br><span>+++ b/src/logging.c</span><br><span>@@ -344,11 +344,11 @@</span><br><span> }</span><br><span> </span><br><span> static const struct value_string level_colors[] = {</span><br><span style="color: hsl(0, 100%, 40%);">-        { LOGL_DEBUG, "\033[1;34m" },</span><br><span style="color: hsl(0, 100%, 40%);">- { LOGL_INFO, "\033[1;32m" },</span><br><span style="color: hsl(0, 100%, 40%);">-  { LOGL_NOTICE, "\033[1;33m" },</span><br><span style="color: hsl(0, 100%, 40%);">-        { LOGL_ERROR, "\033[1;31m" },</span><br><span style="color: hsl(0, 100%, 40%);">- { LOGL_FATAL, "\033[1;31m" },</span><br><span style="color: hsl(120, 100%, 40%);">+       { LOGL_DEBUG, OSMO_LOGCOLOR_BLUE },</span><br><span style="color: hsl(120, 100%, 40%);">+   { LOGL_INFO, OSMO_LOGCOLOR_GREEN },</span><br><span style="color: hsl(120, 100%, 40%);">+   { LOGL_NOTICE, OSMO_LOGCOLOR_YELLOW },</span><br><span style="color: hsl(120, 100%, 40%);">+        { LOGL_ERROR, OSMO_LOGCOLOR_RED },</span><br><span style="color: hsl(120, 100%, 40%);">+    { LOGL_FATAL, OSMO_LOGCOLOR_RED },</span><br><span>   { 0, NULL }</span><br><span> };</span><br><span> </span><br><span>@@ -428,7 +428,7 @@</span><br><span>                  ret = snprintf(buf + offset, rem, "%s%s%s%s ",</span><br><span>                                    target->use_color ? level_color(level) : "",</span><br><span>                                    log_category_name(subsys),</span><br><span style="color: hsl(0, 100%, 40%);">-                                      target->use_color ? "\033[0;m" : "",</span><br><span style="color: hsl(120, 100%, 40%);">+                                   target->use_color ? OSMO_LOGCOLOR_END : "",</span><br><span>                                     c_subsys ? c_subsys : "");</span><br><span>                  if (ret < 0)</span><br><span>                              goto err;</span><br><span>@@ -438,7 +438,7 @@</span><br><span>                      ret = snprintf(buf + offset, rem, "%s%s%s%s ",</span><br><span>                                    target->use_color ? level_color(level) : "",</span><br><span>                                    log_level_str(level),</span><br><span style="color: hsl(0, 100%, 40%);">-                                   target->use_color ? "\033[0;m" : "",</span><br><span style="color: hsl(120, 100%, 40%);">+                                   target->use_color ? OSMO_LOGCOLOR_END : "",</span><br><span>                                     c_subsys ? c_subsys : "");</span><br><span>                  if (ret < 0)</span><br><span>                              goto err;</span><br><span>@@ -501,7 +501,7 @@</span><br><span>      }</span><br><span> </span><br><span>        if (target->use_color) {</span><br><span style="color: hsl(0, 100%, 40%);">-             ret = snprintf(buf + offset, rem, "\033[0;m");</span><br><span style="color: hsl(120, 100%, 40%);">+              ret = snprintf(buf + offset, rem, OSMO_LOGCOLOR_END);</span><br><span>                if (ret < 0)</span><br><span>                      goto err;</span><br><span>            OSMO_SNPRINTF_RET(ret, rem, offset, len);</span><br><span>diff --git a/tests/logging/logging_test.c b/tests/logging/logging_test.c</span><br><span>index 8fd71d0..b9cb57f 100644</span><br><span>--- a/tests/logging/logging_test.c</span><br><span>+++ b/tests/logging/logging_test.c</span><br><span>@@ -37,19 +37,19 @@</span><br><span>         [DRLL] = {</span><br><span>           .name = "DRLL",</span><br><span>            .description = "A-bis Radio Link Layer (RLL)",</span><br><span style="color: hsl(0, 100%, 40%);">-                .color = "\033[1;31m",</span><br><span style="color: hsl(120, 100%, 40%);">+              .color = OSMO_LOGCOLOR_RED,</span><br><span>          .enabled = 1, .loglevel = LOGL_NOTICE,</span><br><span>       },</span><br><span>   [DCC] = {</span><br><span>            .name = "DCC",</span><br><span>             .description = "Layer3 Call Control (CC)",</span><br><span style="color: hsl(0, 100%, 40%);">-            .color = "\033[1;32m",</span><br><span style="color: hsl(120, 100%, 40%);">+              .color = OSMO_LOGCOLOR_GREEN,</span><br><span>                .enabled = 1, .loglevel = LOGL_NOTICE,</span><br><span>       },</span><br><span>   [DMM] = {</span><br><span>            .name = NULL,</span><br><span>                .description = "Layer3 Mobility Management (MM)",</span><br><span style="color: hsl(0, 100%, 40%);">-             .color = "\033[1;33m",</span><br><span style="color: hsl(120, 100%, 40%);">+              .color = OSMO_LOGCOLOR_YELLOW,</span><br><span>               .enabled = 1, .loglevel = LOGL_NOTICE,</span><br><span>       },</span><br><span> };</span><br><span>diff --git a/tests/loggingrb/loggingrb_test.c b/tests/loggingrb/loggingrb_test.c</span><br><span>index 3372c0c..0b2ae5b 100644</span><br><span>--- a/tests/loggingrb/loggingrb_test.c</span><br><span>+++ b/tests/loggingrb/loggingrb_test.c</span><br><span>@@ -34,19 +34,19 @@</span><br><span>  [DRLL] = {</span><br><span>             .name = "DRLL",</span><br><span>            .description = "A-bis Radio Link Layer (RLL)",</span><br><span style="color: hsl(0, 100%, 40%);">-                .color = "\033[1;31m",</span><br><span style="color: hsl(120, 100%, 40%);">+              .color = OSMO_LOGCOLOR_RED,</span><br><span>                  .enabled = 1, .loglevel = LOGL_NOTICE,</span><br><span>               },</span><br><span>         [DCC] = {</span><br><span>             .name = "DCC",</span><br><span>             .description = "Layer3 Call Control (CC)",</span><br><span style="color: hsl(0, 100%, 40%);">-            .color = "\033[1;32m",</span><br><span style="color: hsl(120, 100%, 40%);">+              .color = OSMO_LOGCOLOR_GREEN,</span><br><span>                .enabled = 1, .loglevel = LOGL_NOTICE,</span><br><span>               },</span><br><span>  [DMM] = {</span><br><span>             .name = NULL,</span><br><span>                .description = "Layer3 Mobility Management (MM)",</span><br><span style="color: hsl(0, 100%, 40%);">-             .color = "\033[1;33m",</span><br><span style="color: hsl(120, 100%, 40%);">+              .color = OSMO_LOGCOLOR_BLUE,</span><br><span>                 .enabled = 1, .loglevel = LOGL_NOTICE,</span><br><span>               },</span><br><span> };</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/libosmocore/+/16156">change 16156</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/libosmocore/+/16156"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I03b6b1f73ae7ee61d37ff921e071a3d0881d3e9a </div>
<div style="display:none"> Gerrit-Change-Number: 16156 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>