12
Я хотел бы узнать, можно ли получить доступ к стеку вызовов из метода, чтобы узнать, какой метод в пакете называется тем, в котором мы находимся сейчас?Доступ к стеклу вызовов Java
Возможно, существует другой способ сделать это?
Спасибо,
ExtremeCoder
P.S. Это все в Java
+1: Конечно, не должно меняться поведение на основе вызывающего, но это как раз то, как это сделать. Кроме того, если вы застряли с 1.4, то вам нужно futz с исключениями, чтобы получить информацию; стоит переходить на Java5 вместо того, чтобы делать подобные хаки IMO. –
О, другой случай для того, чтобы делать вещи с чтением стека, - это если вы используете контексты безопасности, но гораздо лучше использовать инструменты политики безопасности, которые у вас уже есть для этого. –
Ответ правильный, но я не согласен с этим только для отладки. В моем приложении я написал обертку в Log4j, которая отправляет сообщения регистрации в приложение в соответствии с именем вызывающего абонента. Таким образом, вы можете добавить сообщение журнала только с одной строкой, без явного вызова в Logger.getLogger() 'в коде. Вы можете назвать объект ведения журнала целью отладки, но в любом случае. – jutky