1
メソッド呼び出しをインターセプトし、このインターセプトされたメソッドを豊富なパラメータで呼び出すことは可能ですか? 私の場合私は傍受する必要があります。 logger.info( "foo")、メッセージパラメータを強化します。 "foo.bar"と呼び出してlogger.info( "foo.bar")javaagentを使用して豊富なパラメータを持つインターセプトメソッド
メソッド呼び出しをインターセプトし、このインターセプトされたメソッドを豊富なパラメータで呼び出すことは可能ですか? 私の場合私は傍受する必要があります。 logger.info( "foo")、メッセージパラメータを強化します。 "foo.bar"と呼び出してlogger.info( "foo.bar")javaagentを使用して豊富なパラメータを持つインターセプトメソッド
はい、可能です。 Javaエージェントを使用して、これを行う最も簡単な方法は、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
を使用して、あなたの変圧器で、このアドバイスを登録することができます