Java: Как получить объект класса текущего класса из статического контекста?

У меня есть функция регистрации, которая принимает вызывающий объект в качестве параметра. Затем я вызываю getClass (). GetSimpleName () для него, чтобы я мог легко получить имя класса для добавления в мою запись в журнале для удобства использования. Проблема в том, что когда я вызываю свою функцию журнала из статического метода, я могуне пройти в "этот", Моя функция журнала выглядит примерно так:

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

Но давайскажем, я хочу войти из статической функции:

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

Очевидно, что do_something_static () выигралне работает, потому что это статично и "этот" не в статическом контексте. Как я могу обойти это? И могу ли я сделать это без использования рефлексии (так как я понимаю, что это связано с большими накладными расходами, и это может повлиять на производительность, поскольку я регистрирую МНОГО данных)

Я знаю, что могу как-то жестко закодировать текущий класс в вызов, но яЯ уверен, что когда я переместу функцию в другой класс, я забуду обновить жестко заданную ссылку, и она больше не будет корректной.

Спасибо!

Ответы на вопрос(8)

Ваш ответ на вопрос