diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnit.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnit.cpp
index 358bdd97eea725b3c203d7520cb26a44d033d93c..f242c06e2d14cd43c7d489deb25dbf91433c085b 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnit.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnit.cpp
@@ -2903,3 +2903,14 @@ namespace armarx
         return o;
     }
 }
+
+
+void armarx::RobotUnit::startLogging(const std::string& filename, const Ice::StringSeq& devices, const Ice::Current&)
+{
+    ARMARX_WARNING << "startLogging is not implemented yet";
+}
+
+void armarx::RobotUnit::stopLogging(const Ice::Current&)
+{
+    ARMARX_WARNING << "stopLogging is not implemented yet";
+}
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnit.h b/source/RobotAPI/components/units/RobotUnit/RobotUnit.h
index 4dfa536d87343a7f7b604442c966801d08c7f2da..f64cca350770319a942e66d151c01927aff97c6c 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnit.h
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnit.h
@@ -689,6 +689,11 @@ namespace armarx
     protected:
         const RobotUnitListenerPrx& getListenerProxy() const;
         void icePropertiesInitialized() override;
+
+        // RT-Logging
+    public:
+        void startLogging(const std::string& filename, const Ice::StringSeq& devices, const Ice::Current&);
+        void stopLogging(const Ice::Current&);
     };
 
 }
diff --git a/source/RobotAPI/interface/units/RobotUnit/RobotUnitInterface.ice b/source/RobotAPI/interface/units/RobotUnit/RobotUnitInterface.ice
index d840492718b297f734caa64bb1e0a56ff774b0a1..e2918333856a1f434e8de5e191dbc0cc6754f1a6 100644
--- a/source/RobotAPI/interface/units/RobotUnit/RobotUnitInterface.ice
+++ b/source/RobotAPI/interface/units/RobotUnit/RobotUnitInterface.ice
@@ -111,19 +111,19 @@ module armarx
         ["cpp:const"] idempotent NJointControllerDescriptionWithStatusSeq getNJointControllerDescriptionsWithStatuses();
 
         //devices
-        ["cpp:const"] idempotent Ice::StringSeq                         getControlDeviceNames() throws LogicError;
-        ["cpp:const"] idempotent ControlDeviceDescription               getControlDeviceDescription(string name) throws InvalidArgumentException, LogicError;
-        ["cpp:const"] idempotent ControlDeviceDescriptionSeq            getControlDeviceDescriptions() throws LogicError;
-        ["cpp:const"] idempotent ControlDeviceStatus                    getControlDeviceStatus(string name) throws InvalidArgumentException, LogicError;
-        ["cpp:const"] idempotent ControlDeviceStatusSeq                 getControlDeviceStatuses() throws LogicError;
-
-        ["cpp:const"] idempotent Ice::StringSeq                         getSensorDeviceNames() throws LogicError;
-        ["cpp:const"] idempotent SensorDeviceDescription                getSensorDeviceDescription(string name) throws InvalidArgumentException, LogicError;
-        ["cpp:const"] idempotent SensorDeviceDescriptionSeq             getSensorDeviceDescriptions() throws LogicError;
-        ["cpp:const"] idempotent SensorDeviceStatus                     getSensorDeviceStatus(string name) throws InvalidArgumentException, LogicError;
-        ["cpp:const"] idempotent SensorDeviceStatusSeq                  getSensorDeviceStatuses() throws LogicError;
+        ["cpp:const"] idempotent Ice::StringSeq                           getControlDeviceNames() throws LogicError;
+        ["cpp:const"] idempotent ControlDeviceDescription                 getControlDeviceDescription(string name) throws InvalidArgumentException, LogicError;
+        ["cpp:const"] idempotent ControlDeviceDescriptionSeq              getControlDeviceDescriptions() throws LogicError;
+        ["cpp:const"] idempotent ControlDeviceStatus                      getControlDeviceStatus(string name) throws InvalidArgumentException, LogicError;
+        ["cpp:const"] idempotent ControlDeviceStatusSeq                   getControlDeviceStatuses() throws LogicError;
+
+        ["cpp:const"] idempotent Ice::StringSeq                           getSensorDeviceNames() throws LogicError;
+        ["cpp:const"] idempotent SensorDeviceDescription                  getSensorDeviceDescription(string name) throws InvalidArgumentException, LogicError;
+        ["cpp:const"] idempotent SensorDeviceDescriptionSeq               getSensorDeviceDescriptions() throws LogicError;
+        ["cpp:const"] idempotent SensorDeviceStatus                       getSensorDeviceStatus(string name) throws InvalidArgumentException, LogicError;
+        ["cpp:const"] idempotent SensorDeviceStatusSeq                    getSensorDeviceStatuses() throws LogicError;
         //classes
-        ["cpp:const"] idempotent Ice::StringSeq                         getNJointControllerClassNames();
+        ["cpp:const"] idempotent Ice::StringSeq                           getNJointControllerClassNames();
         ["cpp:const"] idempotent NJointControllerClassDescription         getNJointControllerClassDescription(string name) throws InvalidArgumentException;
         ["cpp:const"] idempotent NJointControllerClassDescriptionSeq      getNJointControllerClassDescriptions();
 
@@ -155,6 +155,10 @@ module armarx
 
         //other
         ["cpp:const"] idempotent string getListenerTopicName();
+
+        //rt-logging
+        void startLogging(string filename, Ice::StringSeq devices);
+        void stopLogging();
     };
 
     interface RobotUnitListener