<p>laforge has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-e1d/+/19057">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Always log context (interface/line/timeslot) when available<br><br>We always want to know as much context as possible.  Which exact<br>timeslot on which line of which interface ha logged something?<br><br>Change-Id: I3d8909b396928ed3c023b8ac47fa9ec72c99e681<br>---<br>M src/intf_line.c<br>M src/log.h<br>M src/usb.c<br>3 files changed, 21 insertions(+), 12 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/57/19057/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/intf_line.c b/src/intf_line.c</span><br><span>index fdfaa82..335fb83 100644</span><br><span>--- a/src/intf_line.c</span><br><span>+++ b/src/intf_line.c</span><br><span>@@ -143,15 +143,15 @@</span><br><span> </span><br><span>                if (rv > 0) {</span><br><span>                     int bytes_to_write = rv;</span><br><span style="color: hsl(0, 100%, 40%);">-                        LOGP(DXFR, LOGL_DEBUG, "RX Message: %d %d [ %s]\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                           ts->id, rv, osmo_hexdump(ts->rx_buf, rv));</span><br><span style="color: hsl(120, 100%, 40%);">+                      LOGPTS(ts, DXFR, LOGL_DEBUG, "RX Message: %d [ %s]\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                              rv, osmo_hexdump(ts->rx_buf, rv));</span><br><span>                        rv = write(ts->fd, ts->rx_buf, bytes_to_write);</span><br><span>                        if (rv < 0 && errno != EAGAIN) {</span><br><span>                          e1_ts_stop(ts);</span><br><span>                              return -1;</span><br><span>                   }</span><br><span>            } else  if (rv < 0 && ts->id == 4) {</span><br><span style="color: hsl(0, 100%, 40%);">-                      LOGP(DXFR, LOGL_ERROR, "ERR RX: %d %d %d [ %s]\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                  LOGPTS(ts, DXFR, LOGL_ERROR, "ERR RX: %d %d %d [ %s]\n",</span><br><span>                           rv,oi,cl, osmo_hexdump(buf, len));</span><br><span>           }</span><br><span> </span><br><span>@@ -173,8 +173,8 @@</span><br><span>          if (!ts->tx_len) {</span><br><span>                        rv = read(ts->fd, ts->tx_buf, sizeof(ts->tx_buf));</span><br><span>                  if (rv > 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-                                LOGP(DXFR, LOGL_DEBUG, "TX Message: %d %d [ %s]\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                                   ts->id, rv, osmo_hexdump(ts->tx_buf, rv));</span><br><span style="color: hsl(120, 100%, 40%);">+                              LOGPTS(ts, DXFR, LOGL_DEBUG, "TX Message: %d [ %s]\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                                      rv, osmo_hexdump(ts->tx_buf, rv));</span><br><span>                                ts->tx_len = rv; </span><br><span>                                 ts->tx_ofs = 0;</span><br><span>                   } else if (rv < 0 && errno != EAGAIN) {</span><br><span>@@ -190,10 +190,10 @@</span><br><span>           );</span><br><span> </span><br><span>               if (rv < 0)</span><br><span style="color: hsl(0, 100%, 40%);">-                  LOGP(DXFR, LOGL_ERROR, "ERR TX: %d\n", rv);</span><br><span style="color: hsl(120, 100%, 40%);">+                 LOGPTS(ts, DXFR, LOGL_ERROR, "ERR TX: %d\n", rv);</span><br><span> </span><br><span>              if (ts->tx_ofs < ts->tx_len) {</span><br><span style="color: hsl(0, 100%, 40%);">-                 LOGP(DXFR, LOGL_DEBUG, "TX chunk %d/%d %d [ %s]\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                 LOGPTS(ts, DXFR, LOGL_DEBUG, "TX chunk %d/%d %d [ %s]\n",</span><br><span>                          ts->tx_ofs, ts->tx_len, cl, osmo_hexdump(&buf[ts->tx_ofs], rv));</span><br><span>                }</span><br><span> </span><br><span>@@ -268,7 +268,7 @@</span><br><span>  int ftr;</span><br><span> </span><br><span>         if (size <= 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-             LOGP(DXFR, LOGL_ERROR, "IN ERROR: %d\n", size);</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPLI(line, DXFR, LOGL_ERROR, "IN ERROR: %d\n", size);</span><br><span>            return -1;</span><br><span>   }</span><br><span> </span><br><span>diff --git a/src/log.h b/src/log.h</span><br><span>index 2a9b210..d46a5a7 100644</span><br><span>--- a/src/log.h</span><br><span>+++ b/src/log.h</span><br><span>@@ -31,4 +31,13 @@</span><br><span>  DXFR,</span><br><span> };</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#define LOGPIF(itf, ss, lvl, fmt, args...) \</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGP(ss, lvl, "(I%u) " fmt, (itf)->id, ## args)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#define LOGPLI(li, ss, lvl, fmt, args...) \</span><br><span style="color: hsl(120, 100%, 40%);">+   LOGP(ss, lvl, "(I%u:L%u) " fmt, (li)->intf->id, (li)->id, ## args)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#define LOGPTS(ts, ss, lvl, fmt, args...) \</span><br><span style="color: hsl(120, 100%, 40%);">+  LOGP(ss, lvl, "(I%u:L%u:T%u) " fmt, (ts)->line->intf->id, (ts)->line->id, (ts)->id, ## args)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> extern const struct log_info log_info;</span><br><span>diff --git a/src/usb.c b/src/usb.c</span><br><span>index 5d38d32..578bc34 100644</span><br><span>--- a/src/usb.c</span><br><span>+++ b/src/usb.c</span><br><span>@@ -118,7 +118,7 @@</span><br><span>  int fts;</span><br><span> </span><br><span>         if (size <= 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-             LOGP(DXFR, LOGL_ERROR, "OUT ERROR: %d\n", size);</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGPLI(line, DXFR, LOGL_ERROR, "OUT ERROR: %d\n", size);</span><br><span>           return -1;</span><br><span>   }</span><br><span> </span><br><span>@@ -144,10 +144,10 @@</span><br><span>        struct e1_usb_line_data *ld = (struct e1_usb_line_data *) flow->line->drv_data;</span><br><span> </span><br><span>    if (size < 0) {</span><br><span style="color: hsl(0, 100%, 40%);">-              LOGP(DE1D, LOGL_ERROR, "Feedback transfer error\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPLI(flow->line, DE1D, LOGL_ERROR, "Feedback transfer error\n");</span><br><span>              return 0;</span><br><span>    } else if (size != 3) {</span><br><span style="color: hsl(0, 100%, 40%);">-         LOGP(DE1D, LOGL_ERROR, "Feedback packet invalid size (%d)\n", size);</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPLI(flow->line, DE1D, LOGL_ERROR, "Feedback packet invalid size (%d)\n", size);</span><br><span>              return 0;</span><br><span>    }</span><br><span> </span><br><span>@@ -193,7 +193,7 @@</span><br><span> </span><br><span>      rv = libusb_submit_transfer(xfr);</span><br><span>    if (rv)</span><br><span style="color: hsl(0, 100%, 40%);">-         LOGP(DE1D, LOGL_ERROR, "Failed to resubmit buffer for transfer\n");</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGPLI(flow->line, DE1D, LOGL_ERROR, "Failed to resubmit buffer for transfer\n");</span><br><span> }</span><br><span> </span><br><span> static struct e1_usb_flow *</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-e1d/+/19057">change 19057</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/osmo-e1d/+/19057"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-e1d </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I3d8909b396928ed3c023b8ac47fa9ec72c99e681 </div>
<div style="display:none"> Gerrit-Change-Number: 19057 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>