This service writes PoseData
events which are sent out by other services into a file. The services whose events have to be logged are specified in the XML service description, as well as the name of the output file.
The service has a PoseData
need. All PoseData
events fitting this need are written to a file in chronological order. If you want to log the events of a single service, specify this as a predicate (see below).
has to be used to specify the name of the file which will receive the PoseData
events (for an example, see below). If the file already exists, it will be overridden.
Interaction with other Services
The service only receives the PoseData
events of other services. It has no ability which can be used by other services.
The source can be found in the cvs repository:
Write your own XML configuration of this service. An example looks as follows:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE service SYSTEM "service.dtd">
<service name="PoseDataLogger" startOnDemand="false" stopOnNoUse="false">
<attribute name="OutputFile" value="/tmp/ARTDaten"/>
<ability name="status" type="Status">
<need name="WinkelART" type="PoseData" minInstances="0" maxInstances="1" predicate="(&(ThingID=WinkelART)(ThingType=6DObject))">
With this XML service description, the service would write all PoseData
events which fit the predicate (ThingID?
=WinkelART and ThingType?
=6DObject) to the file
No special packages are required. If you have a running DWARF installation, do a
in the PoseDataLogger directory. This creates an application called
which can be started on the command line.
, start some service that provides a PoseData
ability (for example ServiceARTTracker
). If you think that enough data has been collected, interrupt the PoseDataLogger service with CTRL+C and look at the file specified in the service description.
Command Line Parameter
You can use the following command line parameter:
- -Dconfig=<string>: set the name of the service as specified in the XML service description (default
PoseDataLogger). This allows to start multiple instances of the service which log the events of different services.
Known Bugs and Limitations
No error handling is done, so it might happen that the service terminates unexpectedly (e.g. if no
was specified or creating the file is not possible).
- written by SvenHennauer
- used to develop and test the MultiTracker? service
- 27 Nov 2003