diff --git a/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py b/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py
index 03c09b81ec3061a22aff0aa6c793aa9829c5686a..4e483ca7b1a70d7287f711c0eabb1e164590882f 100644
--- a/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py
+++ b/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py
@@ -37,10 +37,11 @@ _FETCH_ONE=1
 _FETCH_ALL=2
 
 class RADatabase:
-    def __init__(self, dbcreds=None):
+    def __init__(self, dbcreds=None, log_queries=False):
         self.dbcreds = dbcreds
         self.conn = None
         self.cursor = None
+        self.log_queries = log_queries
 
     def _connect(self):
         self.conn = None
@@ -62,8 +63,8 @@ class RADatabase:
     def _executeQuery(self, query, qargs=None, fetch=_FETCH_NONE):
         '''execute the query and reconnect upon OperationalError'''
         try:
-            if logger.getEffectiveLevel() == logging.DEBUG: #prevent expensive string manipulation above debug level
-                logger.debug('execute query: %s' % self._queryAsSingleLine(query, qargs))
+            if self.log_queries:
+                logger.info('executing query: %s' % self._queryAsSingleLine(query, qargs))
 
             self.cursor.execute(query, qargs)
         except (psycopg2.OperationalError, AttributeError) as e:
@@ -892,7 +893,7 @@ class RADatabase:
 
 if __name__ == '__main__':
     logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s',
-                        level=logging.DEBUG)
+                        level=logging.INFO)
 
     # Check the invocation arguments
     parser = OptionParser("%prog [options]",
@@ -903,7 +904,7 @@ if __name__ == '__main__':
 
     dbcreds = dbcredentials.parse_options(options)
 
-    db = RADatabase(dbcreds=dbcreds)
+    db = RADatabase(dbcreds=dbcreds, log_queries=True)
 
     def resultPrint(method):
         print '\n-- ' + str(method.__name__) + ' --'
diff --git a/SAS/ResourceAssignment/ResourceAssignmentService/radbservice.ini b/SAS/ResourceAssignment/ResourceAssignmentService/radbservice.ini
index b306483aa74afa72b06141f265347627551c8f67..6d6c20f477d95de54eb31dcd7820a19a7e81a4c0 100644
--- a/SAS/ResourceAssignment/ResourceAssignmentService/radbservice.ini
+++ b/SAS/ResourceAssignment/ResourceAssignmentService/radbservice.ini
@@ -1,5 +1,5 @@
 [program:radbservice]
-command=/bin/bash -c 'source $LOFARROOT/lofarinit.sh;radbservice --busname=lofar.ra.command --servicename=RADBService'
+command=/bin/bash -c 'source $LOFARROOT/lofarinit.sh;radbservice --busname=lofar.ra.command --servicename=RADBService --log-queries'
 user=lofarsys
 stopsignal=INT ; KeyboardInterrupt
 stopasgroup=true ; bash does not propagate signals
diff --git a/SAS/ResourceAssignment/ResourceAssignmentService/service.py b/SAS/ResourceAssignment/ResourceAssignmentService/service.py
index a0f28ce9ac80c8ecb01a6be580f0b2a1e1224ea1..d954fff98e5b2ec6b7d4d9e32ca221fa57d9a1db 100644
--- a/SAS/ResourceAssignment/ResourceAssignmentService/service.py
+++ b/SAS/ResourceAssignment/ResourceAssignmentService/service.py
@@ -35,6 +35,7 @@ class RADBHandler(MessageHandlerInterface):
     def __init__(self, **kwargs):
         super(RADBHandler, self).__init__(**kwargs)
         self.dbcreds = kwargs.pop("dbcreds", None)
+        self.log_queries = kwargs.pop("log_queries", False)
 
         self.service2MethodMap = {
             'GetResourceClaimStatuses': self._getResourceClaimStatuses,
@@ -69,7 +70,7 @@ class RADBHandler(MessageHandlerInterface):
             'GetUnits': self._getUnits}
 
     def prepare_loop(self):
-        self.radb = radb.RADatabase(dbcreds=self.dbcreds)
+        self.radb = radb.RADatabase(dbcreds=self.dbcreds, log_queries=self.log_queries)
 
     def _getTaskStatuses(self):
         return self.radb.getTaskStatuses()
@@ -253,14 +254,14 @@ class RADBHandler(MessageHandlerInterface):
     def _getUnits(self):
         return self.radb.getUnits()
 
-def createService(busname=DEFAULT_BUSNAME, servicename=DEFAULT_SERVICENAME, broker=None, dbcreds=None, verbose=False):
+def createService(busname=DEFAULT_BUSNAME, servicename=DEFAULT_SERVICENAME, broker=None, dbcreds=None, log_queries=False, verbose=False):
     return Service(servicename,
                    RADBHandler,
                    busname=busname,
                    broker=broker,
                    use_service_methods=True,
                    numthreads=4,
-                   handler_args={'dbcreds': dbcreds},
+                   handler_args={'dbcreds': dbcreds, 'log_queries': log_queries},
                    verbose=verbose)
 
 def main():
@@ -270,6 +271,7 @@ def main():
     parser.add_option('-q', '--broker', dest='broker', type='string', default=None, help='Address of the qpid broker, default: localhost')
     parser.add_option("-b", "--busname", dest="busname", type="string", default=DEFAULT_BUSNAME, help="Name of the bus exchange on the qpid broker, default: %s" % DEFAULT_BUSNAME)
     parser.add_option("-s", "--servicename", dest="servicename", type="string", default=DEFAULT_SERVICENAME, help="Name for this service, default: %s" % DEFAULT_SERVICENAME)
+    parser.add_option('-Q', '--log-queries', dest='log_queries', action='store_true', help='log all pqsl queries')
     parser.add_option('-V', '--verbose', dest='verbose', action='store_true', help='verbose logging')
     parser.add_option_group(dbcredentials.options_group(parser))
     parser.set_defaults(dbcredentials="RADB")
@@ -285,6 +287,7 @@ def main():
                        servicename=options.servicename,
                        broker=options.broker,
                        verbose=options.verbose,
+                       log_queries=options.log_queries,
                        dbcreds=dbcreds):
         waitForInterrupt()