Kevin Brightwell edited this page Aug 26, 2015 · 1 revision
Clone this wiki locally


Tracing output should consistent across tracers and informative at the same time. Different suggestions and options will be discussed on this page.


First, we have identified information that should (or might) be included in the tracing output. All of the following information can form an informative trace output:

  • Time of Trace
  • Thread/Process Id
  • Class name
  • Object's name
  • Entity name
  • Value of traced entity
  • Method call (e.g. attributes set or get method calls. Associations add, remove etc)
  • Position in the umple file where the trace directive was made

Next, we suggest the following sequence of information display for smoother and easy interpretation. Each part is separated by a comma: Trace Directive id, Class name, Method call, Value of traced entity, Date

for example :

class A { x; trace x; }

Time,Thread,File,Line,Class,ObjectName,operation,EntityName 13400000,1,m.ump,3,A,341242,at_s,x,newValue

Providing flexibility for users over tracing output is recommended. This can be achieved using the tracer statement, which will be generalized into:

tracer tracerType options

For example: Tracer Console verbose;

will result in the more informative tracing output

Moreover, this generalization will provide more controlling power over other tracers such as File tracer.

Currently, file tracer outputs all tracing information into "trace.txt" file. we can generalize it using the tracer statement

tracer File verbose myTrace.txt;

Now, all the tracing information will be directed towards the file "myTrace.txt". Otherwise, the default is "trace.txt".