org.qi4j.logging.trace

## Class TraceConcern

- java.lang.Object
- - org.qi4j.api.concern.ConcernOf<InvocationHandler>
  - - org.qi4j.logging.trace.AbstractTraceConcern
    - - org.qi4j.logging.trace.TraceConcern

- All Implemented Interfaces:
    InvocationHandler

      @AppliesTo(value=Trace.class)
      public final class TraceConcern
      extends AbstractTraceConcern
      implements InvocationHandler

  The TraceConcern will call the traceEntry(), traceExit() and traceException() methods in the Tracer instance associated with the CompositeType that the TraceConcern is part of.

  The Trace paradigm is all about tracking the entry and exit (both normal and exceptional ones) of methods. The TraceConcern will be added to all methods that declares the `@Trace` annotation, with an optional level argument. The level is the threshold of the Tracer instance required to trace the method, i.e. the priority of the Tracer instance must be equal or higher than the level set in the `@Trace` annotation of the method.

  If the priority of the `Tracer` is set to OFF (Integer.MIN_VALUE) then no tracing will happen.

- - ### Field Summary

    - ### Fields inherited from class org.qi4j.logging.trace.AbstractTraceConcern

      `traceService`

    - ### Fields inherited from class org.qi4j.api.concern.ConcernOf

      `next`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TraceConcern(Composite thisComposite)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `doTrace()`

    - ### Methods inherited from class org.qi4j.logging.trace.AbstractTraceConcern

      `invoke`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.lang.reflect.InvocationHandler

      `invoke`

- - ### Constructor Detail

    - #### TraceConcern

          public TraceConcern(@This
                      Composite thisComposite)

  - ### Method Detail

    - #### doTrace

          protected boolean doTrace()

      Overrides:
        `doTrace` in class `AbstractTraceConcern`