From 8ea147c35abbea84004029a07946fcca8beba89f Mon Sep 17 00:00:00 2001 From: Dan Dietz Date: Thu, 6 Mar 2025 16:31:17 -0500 Subject: [PATCH 1/2] First pass at automatic stack function logging --- harness/libraries/rgt_loggers/rgt_logging.py | 21 +++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/harness/libraries/rgt_loggers/rgt_logging.py b/harness/libraries/rgt_loggers/rgt_logging.py index 148da037..da6e62e3 100644 --- a/harness/libraries/rgt_loggers/rgt_logging.py +++ b/harness/libraries/rgt_loggers/rgt_logging.py @@ -8,6 +8,7 @@ import logging import time import os +import inspect class rgt_logger: @@ -73,29 +74,39 @@ def get_fh_threshold_level(self): def get_ch_threshold_level(self): return self.__ch_threshold_level + def getLocation(self, message): + loc="" + if message != "" and self.get_logger_threshold_level() == "DEBUG": + stack = inspect.stack() + i = 2 + while stack[i][3] == stack[1][3] and i < len(stack): + i += 1 + loc = "In function " + stack[i][3] + ": " + message + return loc + def doDebugLogging(self, message): - self.__myLogger.debug(message) + self.__myLogger.debug(self.getLocation(message)) return def doInfoLogging(self, message): - self.__myLogger.info(message) + self.__myLogger.info(self.getLocation(message)) return def doWarningLogging(self, message): - self.__myLogger.warning(message) + self.__myLogger.warning(self.getLocation(message)) return def doErrorLogging(self, message): - self.__myLogger.error(message) + self.__myLogger.error(self.getLocation(message)) return def doCriticalLogging(self, message): - self.__myLogger.critical(message) + self.__myLogger.critical(self.getLocation(message)) # Private methods def _add_file_handler(self): From 75d5cab96f1bef1b27808497b377b970af3718a9 Mon Sep 17 00:00:00 2001 From: Dan Dietz Date: Thu, 6 Mar 2025 16:54:17 -0500 Subject: [PATCH 2/2] Fix logic bug --- harness/libraries/rgt_loggers/rgt_logging.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/harness/libraries/rgt_loggers/rgt_logging.py b/harness/libraries/rgt_loggers/rgt_logging.py index da6e62e3..08d85f15 100644 --- a/harness/libraries/rgt_loggers/rgt_logging.py +++ b/harness/libraries/rgt_loggers/rgt_logging.py @@ -75,14 +75,17 @@ def get_ch_threshold_level(self): return self.__ch_threshold_level def getLocation(self, message): - loc="" if message != "" and self.get_logger_threshold_level() == "DEBUG": + loc="" stack = inspect.stack() + # Step up stack until we are out of the logging bits i = 2 while stack[i][3] == stack[1][3] and i < len(stack): i += 1 loc = "In function " + stack[i][3] + ": " + message - return loc + return loc + else: + return message def doDebugLogging(self, message):