Привет!
Хотел бы узнать можно ли получить имя класса и метода изнутри него самого? Не вбивая их ручками конечно
Пример
class TestCalss:
def test_method(self):
class_name = имя класса
def_name = имя метода
Спасибо
self.__class__.__name__
class Ta: pass class Tb: pass def f(self): print(self, "qq") g=f; Ta.f = f Tb.f = f a = Ta() b = Tb() a.f() b.f()
metotronБудете смеяться но стандартный модуль logging это позволяет.
буду рад за подсказку
class MyLogger:
def __init__(self, test_run, app_name):
self.test_run = test_run
self.app_name = app_name
def logger(self):
formatter = logging.Formatter('%(levelname)s - %(asctime)s - %(name)s - %(message)s')
fh = logging.FileHandler("info.log")
fh.setFormatter(formatter)
ch = logging.StreamHandler()
ch.setFormatter(formatter)
# add handler to logger object
logger = logging.getLogger(self.app_name)
logger.setLevel(logging.INFO)
logger.addHandler(fh)
logger.addHandler(ch)
return logger
def debug_log(self, msg):
self.logger().debug("Here's some debugging information about %s", msg)
def info_log(self, msg):
self.logger().info("Here's some info about %s", msg)
def error_log(self, msg):
self.logger().error(msg)
def critical_log(self, msg):
self.logger().critical(msg)
metotronВы ссылочку то посмотрите там logging и inspect вместе используются
у меня не получается