У меня есть этот код:
log.py
from .color import Color
import logging
class Log:
logging.basicConfig(format='%(asctime)s,%(msecs)d %(levelname)-8s [%(filename)s:%(lineno)d] %(message)s',
datefmt='%d-%m-%Y:%H:%M:%S',
level=logging.INFO)
logger = logging.getLogger('anywordcanbethis')
@classmethod
def warning(self, msg):
Log.logger.warning(Color.fg.yellow + msg + Color.reset)
@classmethod
def error(self, msg):
Log.logger.error(Color.fg.red + msg + Color.reset)
@classmethod
def debug(self, msg):
Log.logger.info(Color.fg.pink + msg + Color.reset)
Как вы можете видеть, для этого нужно настроить параметры ведения журнала в этом классе, чтобы мои другие проекты легко могли использоватьрегистратор так, как я хочу использовать, например:
import Log
Log.warning("BLAHBLAH") ->
31-05-2018:18:06:45,313 WARNING [log.py:12] "BLAHBLAH" (yellow)
Log.error("BLAHBLAH") ->
31-05-2018:18:13:43,481 ERROR [log.py:16] "BLAHBLAH" (red)
проблема в том, что напечатанный номер строки всегда будет log.py:12 <- вот так, чего я не хочу.Я хочу проверить, какой файл называется Log.warning, Log.error ..., который может находиться в стеке на один уровень выше. </p>
Какие варианты я должен попробовать при ведении журнала?
Спасибо