Aardvark.Base


IReporter

The IReporter interface can be implemented for objects to catch reports on a level, where some info is passed with typed parameters (e.g. timing seconds as doubles, values as objects). As soon as a reporter object is added, all Report calls from the same thread are also delivered to that reporter object. Reporting on other threads, where the reporter object was not added, does not appear. If the same reporter object is added multiple times from different threads, all these methods need to do their own locking. If only one reporter object is added from one thread, no locking is necessary. The supplied threadIndex, is a running number for each thread assigned based on their first sending of a Report message. It can be directly used as a key in e.g. an IntDict.

Instance members

Instance memberDescription
Begin(...)
Signature: (threadIndex:int * level:int * target:ILogTarget * text:string * timed:bool) -> unit
Modifiers: abstract
End(...)
Signature: (threadIndex:int * level:int * target:ILogTarget * text:string * seconds:float) -> unit
Modifiers: abstract
Line(...)
Signature: (threadIndex:int * type:LogType * level:int * target:ILogTarget * leftText:string * rightPos:int * rightText:string) -> unit
Modifiers: abstract
Progress(...)
Signature: (threadIndex:int * level:int * target:ILogTarget * text:string * progress:float * seconds:float) -> unit
Modifiers: abstract
Text(threadIndex, level, target, text)
Signature: (threadIndex:int * level:int * target:ILogTarget * text:string) -> unit
Modifiers: abstract
Values(...)
Signature: (threadIndex:int * level:int * target:ILogTarget * name:string * separator:string * values:obj []) -> unit
Modifiers: abstract
Wrap(threadIndex, level, target, text)
Signature: (threadIndex:int * level:int * target:ILogTarget * text:string) -> unit
Modifiers: abstract
Fork me on GitHub