laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/41713?usp=email )
Change subject: pysim/log: also accept ANSI strings to specify the log message colors ......................................................................
pysim/log: also accept ANSI strings to specify the log message colors
the PySimLogger class currently only accepts cmd2 color enum values. This is what we need for pySim-shell.py. However, in case we want to use the PySimLogger in stand-alone programs that do not use cmd2, this is a bit bulky. Let's add some flexibility to PySimLogger, so that we can specify the colors as raw ANSI strings as well.
Change-Id: I93543e19649064043ae8323f82ecd8c423d1d921 Related: SYS#7725 --- M pySim/log.py 1 file changed, 4 insertions(+), 1 deletion(-)
Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved
diff --git a/pySim/log.py b/pySim/log.py index 997627f..a2325a6 100644 --- a/pySim/log.py +++ b/pySim/log.py @@ -108,7 +108,10 @@ formatted_message = logging.Formatter.format(PySimLogger.__formatter, record) color = PySimLogger.colors.get(record.levelno) if color: - PySimLogger.print_callback(style(formatted_message, fg = color)) + if isinstance(color, str): + PySimLogger.print_callback(color + formatted_message + "\033[0m") + else: + PySimLogger.print_callback(style(formatted_message, fg = color)) else: PySimLogger.print_callback(formatted_message)