Есть ли способ гиперссылки на текст в потоковом / консольном логгере, чтобы переместить фокус на клик в правильное место в вашем коде?
Пример: contMyEntity.log
[2019-Jul-08 08:46:14] [contMyEntity.py] [displayStatus] [DEBUG 73]: запуск, текст: Hi
[2019-Jul-08 08:46:14] [contMyEntity.py] [displayStatus] [DEBUG 77]: завершено
Я хочу сделать гиперссылку на номера строк (73 и 74), чтобы переместить фокус по щелчку на соответствующую строку в коде
ЗдесьМой файл loggerSetup.py (если вы хотите скопировать и вставить его):
import logging
import os
class Logger(object):
logger = ""
@staticmethod
def getLogger(__file_, logLvl = logging.DEBUG, logMode = "w"):
if Logger.logger == "":
logName = str(os.path.basename(__file_))
logName = logName.replace(".py", "")
Logger.logger = logging.getLogger(logName)
Logger.logger.setLevel(logLvl)
formatter = logging.Formatter("[%(asctime)s] [%(module)20s.py] [%(funcName)20s] [%(levelname)7s%(lineno)4s]: %(message)s",
datefmt="%Y-%b-%d %H:%M:%S") # %H:%M:%S
fileHandler = logging.FileHandler(logName + ".log", mode = logMode)
fileHandler.setFormatter(formatter)
streamHandler = logging.StreamHandler()
streamHandler.setFormatter(formatter)
Logger.logger.addHandler(fileHandler)
Logger.logger.addHandler(streamHandler)
Logger.logger.info("=======================================")
Logger.logger.info("New Log Entry into log: " + logName)
Logger.logger.info("=======================================")
return Logger.logger
if __name__ == "__main__":
logger = Logger.getLogger(__file__, logging.DEBUG, "a")
logger.debug("Testing logger setup")
print("done")
Спасибо