Skip to content

Trace Method Execution

Csaba Kozák edited this page Aug 24, 2014 · 6 revisions

Since AndroidAnnotations 2.2

The @Trace annotation allows you to trace the execution of a method by writing log entries.

The method must not be private.

Usage examples:

@Trace
void doWork() {
    // ... Do Work ...
}

@Trace
boolean doMoreWork(String someString) {
    // ... Do more Work ...
}

Will generate the following log entries for doWork():

I/TracedMethodActivity(  302): Entering [void doWork() ]
I/TracedMethodActivity(  302): Exiting [void doWork() ], duration in ms: 1002

And this log entries for doMoreWork():

Since AndroidAnnotations 3.1

I/TracedMethodActivity(  302): Entering [boolean doMoreWork(someString = Hello World)]
I/TracedMethodActivity(  302): Exiting [boolean doMoreWork(String) returning: true], duration in ms: 651

Customization

Since AndroidAnnotations 2.2 You can also specify the tag and the level of the log message:

@Trace(tag="CustomTag", level=Log.WARN)
void doWork() {
    // ... Do Work ...
}
W/CustomTag(  533): Entering [void doWork() ]
W/CustomTag(  533): Exiting [void doWork() ], duration in ms: 1001

You can disable @Trace related code at compile by passing an option to the annotation processor when javac is invoked : javac -Atrace=false ...

It can also be added in Eclipse as an annotation processor parameter, in Project Properties > Java Compiler > Annotation Processing > Processor options > New with key trace and value false.

You can read more information here about how to customize annotation processing in other IDEs and build tools.

Using AndroidAnnotations

Questions?

Enjoying AndroidAnnotations

Improving AndroidAnnotations

Clone this wiki locally