Record Class MethodInvocationEvent

java.lang.Object
java.lang.Record
com.fayupable.logged.core.model.MethodInvocationEvent
Record Components:
className - the simple or fully qualified name of the class declaring the invoked method
methodName - the name of the invoked method
timestamp - the instant at which the invocation started
durationNanos - the wall-clock duration of the invocation, in nanoseconds
success - true if the method returned normally, false if it threw an exception
exceptionType - the simple class name of the exception thrown by the method, or null if the call succeeded; the exception message is never captured here, since it may contain sensitive data
callerIdentity - an opaque identifier describing who triggered the call (for example an authenticated user id or a client IP address), resolved by an adapter-specific implementation
traceId - the FlowContext.traceId() shared by every call in the same chain of nested @Logged invocations, allowing log output to be reconstructed as a single call chain
depth - the FlowContext.depth() of this invocation within its call chain, with 0 marking the root call

public record MethodInvocationEvent(String className, String methodName, Instant timestamp, long durationNanos, boolean success, String exceptionType, String callerIdentity, String traceId, int depth) extends Record
Immutable record describing a single method invocation captured by a Logged interceptor.

This event deliberately contains no method arguments and no return value. Only metadata about the call is recorded, so this event can be logged, exported as a metric, or sent to any sink without any risk of leaking sensitive data.

  • Constructor Details

    • MethodInvocationEvent

      public MethodInvocationEvent(String className, String methodName, Instant timestamp, long durationNanos, boolean success, String exceptionType, String callerIdentity, String traceId, int depth)
      Creates an instance of a MethodInvocationEvent record class.
      Parameters:
      className - the value for the className record component
      methodName - the value for the methodName record component
      timestamp - the value for the timestamp record component
      durationNanos - the value for the durationNanos record component
      success - the value for the success record component
      exceptionType - the value for the exceptionType record component
      callerIdentity - the value for the callerIdentity record component
      traceId - the value for the traceId record component
      depth - the value for the depth record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • className

      public String className()
      Returns the value of the className record component.
      Returns:
      the value of the className record component
    • methodName

      public String methodName()
      Returns the value of the methodName record component.
      Returns:
      the value of the methodName record component
    • timestamp

      public Instant timestamp()
      Returns the value of the timestamp record component.
      Returns:
      the value of the timestamp record component
    • durationNanos

      public long durationNanos()
      Returns the value of the durationNanos record component.
      Returns:
      the value of the durationNanos record component
    • success

      public boolean success()
      Returns the value of the success record component.
      Returns:
      the value of the success record component
    • exceptionType

      public String exceptionType()
      Returns the value of the exceptionType record component.
      Returns:
      the value of the exceptionType record component
    • callerIdentity

      public String callerIdentity()
      Returns the value of the callerIdentity record component.
      Returns:
      the value of the callerIdentity record component
    • traceId

      public String traceId()
      Returns the value of the traceId record component.
      Returns:
      the value of the traceId record component
    • depth

      public int depth()
      Returns the value of the depth record component.
      Returns:
      the value of the depth record component