<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/9420">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">fsm: Change semantics of LOGPFSML() log-level<br><br>The general idea about each osmo_fsm_instance having a separate<br>log-level was to be able to selectively increase/show/enable logging<br>for some FSM instances (e.g. of a particular subscriber) while<br>maintaining normal logging verbosity for all other instances of the<br>same FSM.<br><br>The introduction of LOGPFSML() in Change-Id<br>If295fdabb3f31a0fd9490d1e0df57794c75ae547 broke that idea, as it would<br>use a compile-time log level, irrespective of the<br>osmo_fsm_inst.log_level setting of the given instance.<br><br>Let's combine the two:<br>Use the explicit level stated at LOGPFSML(), _unless_ this instance<br>has a higher log_level configured.<br><br>This way, all FSMs should normally be created with<br>osmo_fsm_inst.log_level == LOGL_DEBUG.  At that point LOGPFSM()<br>statements would be rendered at debug level, typically below the<br>threshold of most logging configurations.<br><br>Code that has explicit higher log levels like LOGPFSML(fi, LOGL_ERROR)<br>would always be printed, as it is an error message.<br><br>And if we now increase the osmo_fsm_inst.log_level, then even the normal<br>LOGPFSM() statements would suddenly be logged at that higher level,<br>selectively increasing log verbosity - like originally intended.<br><br>Change-Id: I1820f04d0c6f5d5ff08eb95b8c0e88764534491a<br>---<br>M include/osmocom/core/fsm.h<br>1 file changed, 2 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmocom/core/fsm.h b/include/osmocom/core/fsm.h</span><br><span>index 67e00ad..9e1062f 100644</span><br><span>--- a/include/osmocom/core/fsm.h</span><br><span>+++ b/include/osmocom/core/fsm.h</span><br><span>@@ -120,7 +120,8 @@</span><br><span> void osmo_fsm_log_addr(bool log_addr);</span><br><span> </span><br><span> #define LOGPFSML(fi, level, fmt, args...) \</span><br><span style="color: hsl(0, 100%, 40%);">-               LOGP((fi)->fsm->log_subsys, level, "%s{%s}: " fmt, \</span><br><span style="color: hsl(120, 100%, 40%);">+          LOGP((fi)->fsm->log_subsys, OSMO_MAX(level, (fi)->log_level), \</span><br><span style="color: hsl(120, 100%, 40%);">+                      "%s{%s}: " fmt, \</span><br><span>                  osmo_fsm_inst_name(fi),                             \</span><br><span>                        osmo_fsm_state_name((fi)->fsm, (fi)->state), ## args)</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/9420">change 9420</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/9420"/><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-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I1820f04d0c6f5d5ff08eb95b8c0e88764534491a </div>
<div style="display:none"> Gerrit-Change-Number: 9420 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>