Classe Custom Logger e número de linha / nome de função corretos no log

Eu gostaria de embrulhar logger Python em uma classe personalizada para incorporar algumas funcionalidades específicas do aplicativo e ocultar detalhes de configuração de desenvolvedores (configuração de saída de arquivo, nível de log, etc). Para fazer isso, criei uma classe com a seguinte API:

__init__(log_level, filename)
debug(msg)
info(msg)
warning(msg)
error(msg)

As chamadas logger.debug / info / warning / etc geralmente escrevem no log a função e o número da linha onde a chamada de log foi feita. No entanto, usando minha classe personalizada, a função e os números de linha gravados no arquivo de log são sempre os mesmos (correspondentes às funções debug () / info () / warning () / error () dentro da classe customizada). Eu quero salvar a linha de código do aplicativo que registrou a msg. Isso é possível?

Desde já, obrigado.

questionAnswers(4)

yourAnswerToTheQuestion