Java: Como obter um objeto de classe da classe atual de um contexto estático?

Eu tenho uma função de log que leva o objeto de chamada como um parâmetro. Em seguida, chamo getClass (). GetSimpleName () para que eu possa obter facilmente o nome da classe para adicionar à minha entrada de log para facilitar a referência. O problema é que quando eu chamo a minha função de log de um método estático, não posso passar "this". Minha função de log é algo como isto:

public static void log(Object o, String msg){
  do_log(o.getClass().getSimpleName()+" "+msg);
}
public void do_something(){
  log(this, "Some message");
}

Mas digamos que eu queira fazer o log de uma função estática:

public static void do_something_static(){
  log(this, "Some message from static");
}

Obviamente do_something_static () não funcionará porque é estático e "this" não está em um contexto estático. Como posso resolver isso? E eu posso fazer isso sem usar reflexão (já que eu entendo que há muita sobrecarga envolvida e isso pode afetar o desempenho, já que eu registro MUITOS dados)

Eu sei que eu provavelmente posso codificar a classe atual na chamada de alguma forma, mas tenho certeza que quando eu mover a função para outra classe, vou esquecer de atualizar a referência codificada e ela não estará mais correta.

Obrigado!

questionAnswers(8)

yourAnswerToTheQuestion