diff --git a/slapos/grid/slapgrid.py b/slapos/grid/slapgrid.py
index 21f821171336e2b2ee922ea5e3535ce9dda5674d..af7c3b9d3651a2fcd5adf86b1b9933ff2f375b9e 100644
--- a/slapos/grid/slapgrid.py
+++ b/slapos/grid/slapgrid.py
@@ -242,21 +242,25 @@ def merged_options(args, config):
 
 
 def setup_logger(options):
+  logger = logging.getLogger(__name__)
+
+  if options.get('logfile'):
+    handler = logging.FileHandler(options['logfile'])
+  else:
+    handler = logging.StreamHandler()
+
   if options['verbose']:
-    level = logging.DEBUG
+    handler.setLevel(logging.DEBUG)
   else:
-    level = logging.INFO
-  logging.basicConfig(format='%(asctime)s %(levelname)-8s %(message)s',
-                      level=level,
-                      datefmt='%Y-%m-%dT%H:%M:%S')
-  if options.get('logfile'):
-    console = logging.FileHandler(options['logfile'])
-    console.setLevel(level)
-    console.setFormatter(logging.Formatter(
-        '%(asctime)s %(name)-18s: %(levelname)-8s %(message)s'))
-    logging.getLogger('').addHandler(console)
+    handler.setLevel(logging.INFO)
+
+  formatter = logging.Formatter(fmt='%(asctime)s %(name)-18s: '
+                                '%(levelname)-8s %(message)s',
+                                datefmt='%Y-%m-%dT%H:%M:%S')
+
+  handler.setFormatter(formatter)
+  logger.addHandler(handler)
 
-  logger = logging.getLogger(__name__)
   return logger