<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmocom-bb/+/17760">View Change</a></p><div style="white-space:pre-wrap">Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">trx_toolkit/app_common: add options to enable time printing<br><br>Change-Id: Ie5d14a261e17af554f7132b03d58549a4831dcdb<br>---<br>M src/target/trx_toolkit/app_common.py<br>1 file changed, 24 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/target/trx_toolkit/app_common.py b/src/target/trx_toolkit/app_common.py</span><br><span>index 8ee5054..64baa6d 100644</span><br><span>--- a/src/target/trx_toolkit/app_common.py</span><br><span>+++ b/src/target/trx_toolkit/app_common.py</span><br><span>@@ -4,7 +4,7 @@</span><br><span> # TRX Toolkit</span><br><span> # Common helpers for applications</span><br><span> #</span><br><span style="color: hsl(0, 100%, 40%);">-# (C) 2018 by Vadim Yanitskiy <axilirator@gmail.com></span><br><span style="color: hsl(120, 100%, 40%);">+# (C) 2018-2020 by Vadim Yanitskiy <axilirator@gmail.com></span><br><span> #</span><br><span> # All Rights Reserved</span><br><span> #</span><br><span>@@ -29,6 +29,9 @@</span><br><span> # Example: [DEBUG] ctrl_if_bts.py:71 Recv POWEROFF cmd</span><br><span> LOG_FMT_DEFAULT = "[%(levelname)s] %(filename)s:%(lineno)d %(message)s"</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ # Default time / date format (e.g. 2003-01-23 00:29:50)</span><br><span style="color: hsl(120, 100%, 40%);">+ LOG_TIME_FMT_DEFAULT = "%Y-%m-%d %H:%M:%S"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> def app_print_copyright(self, holders = []):</span><br><span> # Print copyright holders if any</span><br><span> for date, author in holders:</span><br><span>@@ -40,8 +43,9 @@</span><br><span> "This is free software: you are free to change and redistribute it.\n" \</span><br><span> "There is NO WARRANTY, to the extent permitted by law.\n")</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- def add_log_handler(self, lh, log_level, log_fmt):</span><br><span style="color: hsl(0, 100%, 40%);">- lf = log.Formatter(log_fmt)</span><br><span style="color: hsl(120, 100%, 40%);">+ def add_log_handler(self, lh, log_level, log_fmt, time_fmt, log_time = False):</span><br><span style="color: hsl(120, 100%, 40%);">+ log_fmt = "%(asctime)s " + log_fmt if log_time else log_fmt</span><br><span style="color: hsl(120, 100%, 40%);">+ lf = log.Formatter(log_fmt, time_fmt)</span><br><span> ll = log.getLevelName(log_level)</span><br><span> </span><br><span> log.root.addHandler(lh)</span><br><span>@@ -50,13 +54,14 @@</span><br><span> </span><br><span> def app_init_logging(self, argv):</span><br><span> # Default logging handler (stderr)</span><br><span style="color: hsl(0, 100%, 40%);">- lo = (argv.log_level, argv.log_fmt)</span><br><span style="color: hsl(120, 100%, 40%);">+ lo = (argv.log_level, argv.log_fmt, argv.log_time_fmt, argv.log_time)</span><br><span> lh = log.StreamHandler()</span><br><span> self.add_log_handler(lh, *lo)</span><br><span> </span><br><span> # Optional file handler</span><br><span> if argv.log_file_name is not None:</span><br><span style="color: hsl(0, 100%, 40%);">- lo = (argv.log_file_level, argv.log_file_fmt)</span><br><span style="color: hsl(120, 100%, 40%);">+ lo = (argv.log_file_level, argv.log_file_fmt,</span><br><span style="color: hsl(120, 100%, 40%);">+ argv.log_file_time_fmt, argv.log_file_time)</span><br><span> lh = log.FileHandler(argv.log_file_name)</span><br><span> self.add_log_handler(lh, *lo)</span><br><span> </span><br><span>@@ -68,6 +73,13 @@</span><br><span> dest = "log_level", type = str, default = "DEBUG",</span><br><span> choices = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"],</span><br><span> help = "Set logging level (default %(default)s)")</span><br><span style="color: hsl(120, 100%, 40%);">+ parser.add_argument("--log-time",</span><br><span style="color: hsl(120, 100%, 40%);">+ dest = "log_time", action = "store_true",</span><br><span style="color: hsl(120, 100%, 40%);">+ help = "Prefix each log message with the current time")</span><br><span style="color: hsl(120, 100%, 40%);">+ parser.add_argument("--log-time-format", metavar = "FMT",</span><br><span style="color: hsl(120, 100%, 40%);">+ dest = "log_time_fmt", type = str,</span><br><span style="color: hsl(120, 100%, 40%);">+ default = self.LOG_TIME_FMT_DEFAULT,</span><br><span style="color: hsl(120, 100%, 40%);">+ help = "Set time format (default %(default)s)")</span><br><span> parser.add_argument("--log-format", metavar = "FMT",</span><br><span> dest = "log_fmt", type = str, default = self.LOG_FMT_DEFAULT,</span><br><span> help = "Set logging message format")</span><br><span>@@ -79,6 +91,13 @@</span><br><span> dest = "log_file_level", type = str, default = "DEBUG",</span><br><span> choices = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"],</span><br><span> help = "Set logging level for file (default %(default)s)")</span><br><span style="color: hsl(120, 100%, 40%);">+ parser.add_argument("--log-file-time",</span><br><span style="color: hsl(120, 100%, 40%);">+ dest = "log_file_time", action = "store_true",</span><br><span style="color: hsl(120, 100%, 40%);">+ help = "Prefix each log message with the current time")</span><br><span style="color: hsl(120, 100%, 40%);">+ parser.add_argument("--log-file-time-format", metavar = "FMT",</span><br><span style="color: hsl(120, 100%, 40%);">+ dest = "log_file_time_fmt", type = str,</span><br><span style="color: hsl(120, 100%, 40%);">+ default = self.LOG_TIME_FMT_DEFAULT,</span><br><span style="color: hsl(120, 100%, 40%);">+ help = "Set time format for file (default %(default)s)")</span><br><span> parser.add_argument("--log-file-format", metavar = "FMT",</span><br><span> dest = "log_file_fmt", type = str, default = self.LOG_FMT_DEFAULT,</span><br><span> help = "Set logging message format for file")</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmocom-bb/+/17760">change 17760</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/osmocom-bb/+/17760"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmocom-bb </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ie5d14a261e17af554f7132b03d58549a4831dcdb </div>
<div style="display:none"> Gerrit-Change-Number: 17760 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>