Trace Method Execution - shiraji/androidannotations GitHub Wiki
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.