1
메소드 호출을 가로 채고 강화 된 매개 변수를 사용하여 가로 채기 방법을 호출 할 수 있습니까? 제 사례 저는 예를 들어 요격해야합니다. logger.info ("foo"), 메시지 매개 변수를 풍부하게합니다. "foo.bar"및 logger.info ("foo.bar") 호출javaagent를 통해 강화 된 매개 변수를 사용하는 가로 채기 방법
메소드 호출을 가로 채고 강화 된 매개 변수를 사용하여 가로 채기 방법을 호출 할 수 있습니까? 제 사례 저는 예를 들어 요격해야합니다. logger.info ("foo"), 메시지 매개 변수를 풍부하게합니다. "foo.bar"및 logger.info ("foo.bar") 호출javaagent를 통해 강화 된 매개 변수를 사용하는 가로 채기 방법
예, 가능합니다. 자바 에이전트를 사용하여이 작업을 수행하는 가장 쉬운 방법은 Advice
을 사용하고 있습니다 :
dynamicType.visit(Advice.to(LogAdvice.class).on(named("info")));
:
class LogAdvice {
static void onEnter(@Advice.Argument(value = 0, readOnly = false) String message) {
message = message + ".bar";
}
}
당신은 이제 AgentBuilder
를 사용하여 변압기에서이 조언을 등록 할 수 있습니다