diff --git a/mpsd-software-environment.py b/mpsd-software-environment.py
index 7e0bde6923a929f6bf5841ba51dd585392b64a43..15c92f44d85be00c10846fde847999d8991d31e0 100755
--- a/mpsd-software-environment.py
+++ b/mpsd-software-environment.py
@@ -12,6 +12,7 @@ import time
 from pathlib import Path
 from typing import List, Tuple
 
+
 about_tool = """
 Build toolchains using Spack.\n
 
@@ -50,20 +51,19 @@ def set_up_logging(loglevel="warning", filename="test.log"):
     assert log_level_numeric
     if not isinstance(log_level_numeric, int):
         raise ValueError("Invalid log level: %s" % loglevel)
-    if log_level_numeric == logging.DEBUG:
-        linenumbers = "%(lineno)d:"
-    else:
-        linenumbers = ""
-
-    formatstring = "%(asctime)s:%(levelname)s:" + linenumbers + "%(message)s"
 
-    handlers = [logging.StreamHandler(sys.stdout)]
+    handlers = []
     if filename:
         handlers.append(logging.FileHandler(filename))
-    # set up logging
+
+    handlers.append(logging.StreamHandler())
+    if log_level_numeric == logging.DEBUG:
+        linenumbers = " %(lineno)4d"
+    else:
+        linenumbers = ""
     logging.basicConfig(
-        format=formatstring,
-        datefmt="%H:%M:%S",
+        format="%(asctime)s %(levelname)7s" + linenumbers + "  |  %(message)s",
+        datefmt="[%X]",
         level=log_level_numeric,
         handlers=handlers,
         force=True,