diff --git a/test/test_unit/test_utils-logging.py b/test/test_unit/test_utils-logging.py
index 86059c8fc042e247cb3d34f14523e2669dfe3019..0f093f93fcb4b9557267740cb1c17f41823141c9 100755
--- a/test/test_unit/test_utils-logging.py
+++ b/test/test_unit/test_utils-logging.py
@@ -5,9 +5,27 @@
 Unit tests for the functions of utils.py dealing with logging
 """
 
-import genomeAPCAT.utils as utils
+import PanACoTA.utils as utils
 import logging
 import os
+import pytest
+import shutil
+
+GENEPATH = os.path.join("test", "data", "generated-by-utils-tests")
+
+@pytest.fixture(autouse=True)
+def setup_teardown_module():
+    """
+    Remove log files at the end of this test module
+    """
+    # Init logger to level detail (15)
+    # utils.init_logger(LOGFILE_BASE, logging.DEBUG, 'test_utils', verbose=1)
+    os.mkdir(GENEPATH)
+    print("setup")
+
+    yield
+    shutil.rmtree(GENEPATH)
+    print("teardown")
 
 
 def test_class_filter():
@@ -50,7 +68,7 @@ def test_logger_default(capsys):
     """
     Test that logger is initialized as expected.
     """
-    logfile = "logfile_test.txt"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     level = logging.DEBUG
     utils.init_logger(logfile, level, "default")
     logger = logging.getLogger("default")
@@ -61,61 +79,59 @@ def test_logger_default(capsys):
     logger.error("info error")
     logger.critical("info critical")
     out, err = capsys.readouterr()
-    assert "info debug\n" in out
-    assert "info details\n" not in out
-    assert "info info\n" in out
-    assert "info warning\n" not in err
-    assert "info error\n" in err
-    assert "info critical\n" in err
+    assert "info info" in out
+    assert "info error" in err
+    assert "info critical" in err
     with open(logfile + ".log", "r") as logf:
         assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
     with open(logfile + ".log.details") as logf:
-        assert logf.readline().endswith(" :: DEBUG :: info debug\n")
         assert logf.readline().endswith(" :: DETAIL :: info details\n")
         assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
+    with open(logfile + ".log.debug") as logf:
+        assert logf.readline().endswith(" :: DEBUG (from default logger) :: info debug\n")
+        assert logf.readline().endswith(" :: DETAIL (from default logger) :: info details\n")
+        assert logf.readline().endswith(" :: INFO (from default logger) :: info info\n")
+        assert logf.readline().endswith(" :: WARNING (from default logger) :: info warning\n")
+        assert logf.readline().endswith(" :: ERROR (from default logger) :: info error\n")
+        assert logf.readline().endswith(" :: CRITICAL (from default logger) :: info critical\n")
     with open(logfile + ".log.err", "r") as logf:
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    os.remove(logfile + ".log")
-    os.remove(logfile + ".log.err")
-    os.remove(logfile + ".log.details")
 
 
 def test_logger_verbose1(capsys):
     """
     Test that logger is initialized as expected.
     """
-    logfile = "logfile_test.txt"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     level = logging.DEBUG
-    utils.init_logger(logfile, level, "default", verbose=1)
-    logger = logging.getLogger("default")
+    utils.init_logger(logfile, level, "toto", verbose=1)
+    logger = logging.getLogger("toto")
     logger.debug("info debug")
     logger.details("info details")
     logger.info("info info")
     logger.warning("info warning")
     logger.error("info error")
     logger.critical("info critical")
+
     out, err = capsys.readouterr()
-    assert "info debug\n" in out
-    assert "info details\n" not in out
-    assert "info info\n" in out
-    assert "info warning\n" in err
-    assert "info error\n" in err
-    assert "info critical\n" in err
+    assert "info info" in out
+    assert "info warning" in err
+    assert "info error" in err
+    assert "info critical" in err
     with open(logfile + ".log", "r") as logf:
         assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
     with open(logfile + ".log.details") as logf:
-        assert logf.readline().endswith(" :: DEBUG :: info debug\n")
         assert logf.readline().endswith(" :: DETAIL :: info details\n")
         assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
@@ -125,19 +141,23 @@ def test_logger_verbose1(capsys):
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    os.remove(logfile + ".log")
-    os.remove(logfile + ".log.err")
-    os.remove(logfile + ".log.details")
+    with open(logfile + ".log.debug") as logf:
+        assert logf.readline().endswith(" :: DEBUG (from toto logger) :: info debug\n")
+        assert logf.readline().endswith(" :: DETAIL (from toto logger) :: info details\n")
+        assert logf.readline().endswith(" :: INFO (from toto logger) :: info info\n")
+        assert logf.readline().endswith(" :: WARNING (from toto logger) :: info warning\n")
+        assert logf.readline().endswith(" :: ERROR (from toto logger) :: info error\n")
+        assert logf.readline().endswith(" :: CRITICAL (from toto logger) :: info critical\n")
 
 
 def test_logger_verbose2(capsys):
     """
     Test that logger is initialized as expected.
     """
-    logfile = "logfile_test.txt"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     level = logging.DEBUG
-    utils.init_logger(logfile, level, "default", verbose=2)
-    logger = logging.getLogger("default")
+    utils.init_logger(logfile, level, "toto", verbose=2)
+    logger = logging.getLogger("toto")
     logger.debug("info debug")
     logger.details("info details")
     logger.info("info info")
@@ -145,19 +165,18 @@ def test_logger_verbose2(capsys):
     logger.error("info error")
     logger.critical("info critical")
     out, err = capsys.readouterr()
-    assert "info debug\n" in out
-    assert "info details\n" in out
-    assert "info info\n" in out
-    assert "info warning\n" in err
-    assert "info error\n" in err
-    assert "info critical\n" in err
+    assert "info debug" in out
+    assert "info details" in out
+    assert "info info" in out
+    assert "info warning" in err
+    assert "info error" in err
+    assert "info critical" in err
     with open(logfile + ".log", "r") as logf:
         assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
     with open(logfile + ".log.details") as logf:
-        assert logf.readline().endswith(" :: DEBUG :: info debug\n")
         assert logf.readline().endswith(" :: DETAIL :: info details\n")
         assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
@@ -167,19 +186,23 @@ def test_logger_verbose2(capsys):
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    os.remove(logfile + ".log")
-    os.remove(logfile + ".log.err")
-    os.remove(logfile + ".log.details")
+    with open(logfile + ".log.debug") as logf:
+        assert logf.readline().endswith(" :: DEBUG (from toto logger) :: info debug\n")
+        assert logf.readline().endswith(" :: DETAIL (from toto logger) :: info details\n")
+        assert logf.readline().endswith(" :: INFO (from toto logger) :: info info\n")
+        assert logf.readline().endswith(" :: WARNING (from toto logger) :: info warning\n")
+        assert logf.readline().endswith(" :: ERROR (from toto logger) :: info error\n")
+        assert logf.readline().endswith(" :: CRITICAL (from toto logger) :: info critical\n")
 
 
 def test_logger_quiet(capsys):
     """
     Test that logger is initialized as expected.
     """
-    logfile = "logfile_test.txt"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     level = logging.DEBUG
-    utils.init_logger(logfile, level, "default", quiet=True)
-    logger = logging.getLogger("default")
+    utils.init_logger(logfile, level, "quiet", quiet=True)
+    logger = logging.getLogger("quiet")
     logger.debug("info debug")
     logger.details("info details")
     logger.info("info info")
@@ -187,19 +210,16 @@ def test_logger_quiet(capsys):
     logger.error("info error")
     logger.critical("info critical")
     out, err = capsys.readouterr()
-    assert "info debug\n" not in out
-    assert "info details\n" not in out
-    assert "info info\n" not in out
-    assert "info warning\n" not in err
-    assert "info error\n" not in err
-    assert "info critical\n" not in err
+    print(out)
+    print(err)
+    assert not out
+    assert not err
     with open(logfile + ".log", "r") as logf:
         assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
     with open(logfile + ".log.details") as logf:
-        assert logf.readline().endswith(" :: DEBUG :: info debug\n")
         assert logf.readline().endswith(" :: DETAIL :: info details\n")
         assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
@@ -209,16 +229,20 @@ def test_logger_quiet(capsys):
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    os.remove(logfile + ".log")
-    os.remove(logfile + ".log.err")
-    os.remove(logfile + ".log.details")
+    with open(logfile + ".log.debug") as logf:
+        assert logf.readline().endswith(" :: DEBUG (from quiet logger) :: info debug\n")
+        assert logf.readline().endswith(" :: DETAIL (from quiet logger) :: info details\n")
+        assert logf.readline().endswith(" :: INFO (from quiet logger) :: info info\n")
+        assert logf.readline().endswith(" :: WARNING (from quiet logger) :: info warning\n")
+        assert logf.readline().endswith(" :: ERROR (from quiet logger) :: info error\n")
+        assert logf.readline().endswith(" :: CRITICAL (from quiet logger) :: info critical\n")
 
 
 def test_logger_info(capsys):
     """
     Test that when logger is initialized with "INFO" level, it does not return DEBUG info.
     """
-    logfile = "logfile_test.txt"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     level = logging.INFO
     utils.init_logger(logfile, level, "info")
     logger = logging.getLogger("info")
@@ -229,31 +253,27 @@ def test_logger_info(capsys):
     logger.error("info error")
     logger.critical("info critical")
     out, err = capsys.readouterr()
-    assert "info debug\n" not in out
-    assert "info details\n" not in out
-    assert "info info\n" in out
-    assert "info warning\n" not in err
-    assert "info error\n" in err
-    assert "info critical\n" in err
+    assert "info info" in out
+    assert "info error" in err
+    assert "info critical" in err
     with open(logfile + ".log", "r") as logf:
         assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
     assert not os.path.isfile(logfile + ".log.details")
+    assert not os.path.isfile(logfile + ".log.debug")
     with open(logfile + ".log.err", "r") as logf:
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    os.remove(logfile + ".log")
-    os.remove(logfile + ".log.err")
 
 
 def test_logger_info_verbose1(capsys):
     """
     Test that when logger is initialized with "INFO" level, it does not return DEBUG info.
     """
-    logfile = "logfile_test.txt"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     level = logging.INFO
     utils.init_logger(logfile, level, "info", verbose=1)
     logger = logging.getLogger("info")
@@ -264,31 +284,29 @@ def test_logger_info_verbose1(capsys):
     logger.error("info error")
     logger.critical("info critical")
     out, err = capsys.readouterr()
-    assert "info debug\n" not in out
-    assert "info details\n" not in out
-    assert "info info\n" in out
-    assert "info warning\n" in err
-    assert "info error\n" in err
-    assert "info critical\n" in err
+    assert "info info" in out
+    assert "info warning" in err
+    assert "info error" in err
+    assert "info critical" in err
+    assert len(os.listdir(GENEPATH)) == 2
     with open(logfile + ".log", "r") as logf:
         assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
     assert not os.path.isfile(logfile + ".log.details")
+    assert not os.path.isfile(logfile + ".log.debug")
     with open(logfile + ".log.err", "r") as logf:
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    os.remove(logfile + ".log")
-    os.remove(logfile + ".log.err")
 
 
 def test_logger_info_verbose2(capsys):
     """
     Test that when logger is initialized with "INFO" level, it does not return DEBUG info.
     """
-    logfile = "logfile_test.txt"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     level = logging.INFO
     utils.init_logger(logfile, level, "info", verbose=2)
     logger = logging.getLogger("info")
@@ -299,12 +317,12 @@ def test_logger_info_verbose2(capsys):
     logger.error("info error")
     logger.critical("info critical")
     out, err = capsys.readouterr()
-    assert "info debug\n" not in out
-    assert "info details\n" not in out
-    assert "info info\n" in out
-    assert "info warning\n" in err
-    assert "info error\n" in err
-    assert "info critical\n" in err
+    assert "info details" in out
+    assert "info info" in out
+    assert "info warning" in err
+    assert "info error" in err
+    assert "info critical" in err
+    assert len(os.listdir(GENEPATH)) == 2
     with open(logfile + ".log", "r") as logf:
         assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
@@ -315,8 +333,6 @@ def test_logger_info_verbose2(capsys):
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    os.remove(logfile + ".log")
-    os.remove(logfile + ".log.err")
 
 
 def test_logger_warning(capsys):
@@ -324,9 +340,9 @@ def test_logger_warning(capsys):
     Test that when logger is initialized with "WARNING" level, it does not return
     anything in stdout, as DEBUG and INFO are not returned.
     """
-    logfile = "logfile_test.txt"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     level = logging.WARNING
-    utils.init_logger(logfile, level, "warn")
+    utils.init_logger(logfile, level, "warn", verbose=1)
     logger = logging.getLogger("warn")
     logger.debug("info debug")
     logger.details("info details")
@@ -335,13 +351,12 @@ def test_logger_warning(capsys):
     logger.error("info error")
     logger.critical("info critical")
     out, err = capsys.readouterr()
-    assert "info debug\n" not in out
-    assert "info details\n" not in out
-    assert "info info\n" not in out
-    assert "info warning\n" not in err
-    assert "info error\n" in err
-    assert "info critical\n" in err
+    assert "info info" in out
+    assert "info error" in err
+    assert "info critical" in err
+    assert len(os.listdir(GENEPATH)) == 2
     with open(logfile + ".log", "r") as logf:
+        assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
@@ -350,8 +365,6 @@ def test_logger_warning(capsys):
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    os.remove(logfile + ".log")
-    os.remove(logfile + ".log.err")
 
 
 def test_logger_warning_verbose1(capsys):
@@ -359,10 +372,32 @@ def test_logger_warning_verbose1(capsys):
     Test that when logger is initialized with "WARNING" level, it does not return
     anything in stdout, as DEBUG and INFO are not returned.
     """
-    logfile = "logfile_test.txt"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     level = logging.WARNING
     utils.init_logger(logfile, level, "warn", verbose=1)
-    check_warning_verbose(logfile, capsys)
+    logger = logging.getLogger("warn")
+    logger.debug("info debug")
+    logger.details("info details")
+    logger.info("info info")
+    logger.warning("info warning")
+    logger.error("info error")
+    logger.critical("info critical")
+    out, err = capsys.readouterr()
+    assert "info info" in out
+    assert "info error" in err
+    assert "info warning" in err
+    assert "info critical" in err
+    assert len(os.listdir(GENEPATH)) == 2
+    with open(logfile + ".log", "r") as logf:
+        assert logf.readline().endswith(" :: INFO :: info info\n")
+        assert logf.readline().endswith(" :: WARNING :: info warning\n")
+        assert logf.readline().endswith(" :: ERROR :: info error\n")
+        assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
+    assert not os.path.isfile(logfile + ".log.details")
+    with open(logfile + ".log.err", "r") as logf:
+        assert logf.readline().endswith(" :: WARNING :: info warning\n")
+        assert logf.readline().endswith(" :: ERROR :: info error\n")
+        assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
 
 
 def test_logger_warning_verbose2(capsys):
@@ -370,16 +405,9 @@ def test_logger_warning_verbose2(capsys):
     Test that when logger is initialized with "WARNING" level, it does not return
     anything in stdout, as DEBUG and INFO are not returned.
     """
-    logfile = "logfile_test.txt"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     level = logging.WARNING
     utils.init_logger(logfile, level, "warn", verbose=2)
-    check_warning_verbose(logfile, capsys)
-
-
-def check_warning_verbose(logfile, capsys):
-    """
-    Function checking that warnings were given as expected
-    """
     logger = logging.getLogger("warn")
     logger.debug("info debug")
     logger.details("info details")
@@ -388,13 +416,14 @@ def check_warning_verbose(logfile, capsys):
     logger.error("info error")
     logger.critical("info critical")
     out, err = capsys.readouterr()
-    assert "info debug\n" not in out
-    assert "info details\n" not in out
-    assert "info info\n" not in out
-    assert "info warning\n" in err
-    assert "info error\n" in err
-    assert "info critical\n" in err
+    assert "info info" in out
+    assert "info details" in out
+    assert "info error" in err
+    assert "info warning" in err
+    assert "info critical" in err
+    assert len(os.listdir(GENEPATH)) == 2
     with open(logfile + ".log", "r") as logf:
+        assert logf.readline().endswith(" :: INFO :: info info\n")
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
@@ -403,8 +432,6 @@ def check_warning_verbose(logfile, capsys):
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    os.remove(logfile + ".log")
-    os.remove(logfile + ".log.err")
 
 
 def test_logger_critical(capsys):
@@ -413,7 +440,7 @@ def test_logger_critical(capsys):
     CRITICAL information.
 
     """
-    logfile = "logfile_test.txt"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     level = logging.CRITICAL
     utils.init_logger(logfile, level, "crit")
     logger = logging.getLogger("crit")
@@ -424,28 +451,30 @@ def test_logger_critical(capsys):
     logger.error("info error")
     logger.critical("info critical")
     out, err = capsys.readouterr()
-    assert "info debug\n" not in out
-    assert "info details\n" not in out
-    assert "info info\n" not in out
-    assert "info warning\n" not in err
-    assert "info error\n" not in err
-    assert "info critical\n" in err
+    assert "info info" in out
+    assert "info error" in err
+    assert "info critical" in err
+    assert len(os.listdir(GENEPATH)) == 2
     with open(logfile + ".log", "r") as logf:
+        assert logf.readline().endswith(" :: INFO :: info info\n")
+        assert logf.readline().endswith(" :: WARNING :: info warning\n")
+        assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
     assert not os.path.isfile(logfile + ".log.details")
     with open(logfile + ".log.err", "r") as logf:
+        assert logf.readline().endswith(" :: WARNING :: info warning\n")
+        assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    os.remove(logfile + ".log")
-    os.remove(logfile + ".log.err")
 
 
 def test_logger_exists(capsys):
     """
     Test that when the logfiles already exist, it creates new ones with a timestamp added
     """
-    logfile = "logfile_test.txt"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     open(logfile + ".log", "w").close()
     open(logfile + ".log.details", "w").close()
+    open(logfile + ".log.debug", "w").close()
     open(logfile + ".log.err", "w").close()
     level = logging.DEBUG
     utils.init_logger(logfile, level, "already_exist", verbose=1)
@@ -457,18 +486,20 @@ def test_logger_exists(capsys):
     logger.error("info error")
     logger.critical("info critical")
     out, err = capsys.readouterr()
-    assert "info debug\n" in out
-    assert "info details\n" not in out
-    assert "info info\n" in out
-    assert "info warning\n" in err
-    assert "info error\n" in err
-    assert "info critical\n" in err
+    assert "info info" in out
+    assert "info warning" in err
+    assert "info error" in err
+    assert "info critical" in err
+    # Check that initial log files are still empty
     with open(logfile + ".log", "r") as logf:
         assert logf.readlines() == []
+    with open(logfile + ".log.debug", "r") as logf:
+        assert logf.readlines() == []
     with open(logfile + ".log.err", "r") as logf:
         assert logf.readlines() == []
     with open(logfile + ".log.details", "r") as logf:
         assert logf.readlines() == []
+    # Check for new .log file, remove the one which is empty
     import glob
     logs = glob.glob(logfile + "*" + ".log")
     assert len(logs) == 2
@@ -478,25 +509,14 @@ def test_logger_exists(capsys):
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    logs = glob.glob(logfile + "*" + ".log.err")
-    assert len(logs) == 2
-    logs.remove(logfile + ".log.err")
-    with open(logs[0], "r") as logf:
+    # Same thing for .log.err file
+    logs_err = glob.glob(logfile + "*" + ".log.err")
+    assert len(logs_err) == 2
+    logs_err.remove(logfile + ".log.err")
+    with open(logs_err[0], "r") as logf:
         assert logf.readline().endswith(" :: WARNING :: info warning\n")
         assert logf.readline().endswith(" :: ERROR :: info error\n")
         assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    logs = glob.glob(logfile + "*" + ".log.details")
-    assert len(logs) == 2
-    logs.remove(logfile + ".log.details")
-    with open(logs[0], "r") as logf:
-        assert logf.readline().endswith(" :: DEBUG :: info debug\n")
-        assert logf.readline().endswith(" :: DETAIL :: info details\n")
-        assert logf.readline().endswith(" :: INFO :: info info\n")
-        assert logf.readline().endswith(" :: WARNING :: info warning\n")
-        assert logf.readline().endswith(" :: ERROR :: info error\n")
-        assert logf.readline().endswith(" :: CRITICAL :: info critical\n")
-    for f in glob.glob(logfile + "*"):
-        os.remove(f)
 
 
 def test_log_listen(capsys):
@@ -526,7 +546,7 @@ def test_log_listen(capsys):
     q.put(None)
 
     # Initialize real logger
-    logfile = "test_log_listen"
+    logfile = os.path.join(GENEPATH, "logfile_test.txt")
     utils.init_logger(logfile, 0, '')
 
     # Listen to QueueHandler and handle messages to stdout/stderr/files
@@ -535,19 +555,15 @@ def test_log_listen(capsys):
     lp.join()
 
     out, err = capsys.readouterr()
-    assert "debug message\n" in out
-    assert "detail message\n" not in out
-    assert "info message\n" in out
-    assert "warning message\n" not in err
-    assert "error message\n" in err
-    assert "critical message\n" in err
+    assert "info message" in out
+    assert "error message" in err
+    assert "critical message" in err
     with open(logfile + ".log", "r") as logf:
         assert logf.readline().endswith(" :: INFO :: info message\n")
         assert logf.readline().endswith(" :: WARNING :: warning message\n")
         assert logf.readline().endswith(" :: ERROR :: error message\n")
         assert logf.readline().endswith(" :: CRITICAL :: critical message\n")
     with open(logfile + ".log.details") as logf:
-        assert logf.readline().endswith(" :: DEBUG :: debug message\n")
         assert logf.readline().endswith(" :: DETAIL :: detail message\n")
         assert logf.readline().endswith(" :: INFO :: info message\n")
         assert logf.readline().endswith(" :: WARNING :: warning message\n")
@@ -557,9 +573,6 @@ def test_log_listen(capsys):
         assert logf.readline().endswith(" :: WARNING :: warning message\n")
         assert logf.readline().endswith(" :: ERROR :: error message\n")
         assert logf.readline().endswith(" :: CRITICAL :: critical message\n")
-    os.remove(logfile + ".log")
-    os.remove(logfile + ".log.err")
-    os.remove(logfile + ".log.details")
 
 
 def test_log_no_listen(capsys):
@@ -588,7 +601,7 @@ def test_log_no_listen(capsys):
     q.put(None)
 
     # Initialize real logger
-    logfile = "test_log_listen"
+    logfile = os.path.join(GENEPATH, "test_log_listen")
     utils.init_logger(logfile, 0, '')
 
     assert q.qsize() == 7
@@ -601,47 +614,45 @@ def test_log_no_listen(capsys):
         assert logf.readlines() == []
     with open(logfile + ".log.err", "r") as logf:
         assert logf.readlines() == []
-    os.remove(logfile + ".log")
-    os.remove(logfile + ".log.err")
-    os.remove(logfile + ".log.details")
-
-
-def test_logger_thread(capsys):
-    """
-    Test that, when we put some fake logs in the Queue given to logger_thread,
-    those logs are given to logger, and printed to err.
-    """
-    import multiprocessing
-    import threading
-    m = multiprocessing.Manager()
-    q = m.Queue()
-    lp = threading.Thread(target=utils.logger_thread, args=(q,))
-    lp.start()
-    q.put(FakeLog("myname", "hello!!"))
-    q.put(FakeLog("other name", "that's me!!!"))
-    q.put(None)
-    lp.join()
-    out, err = capsys.readouterr()
-    assert out == ""
-    assert "hello!!" in err
-    assert "that's me!!!" in err
-
-
-class FakeLog:
-    """
-    Class simulating a logger
-    """
 
-    def __init__(self, name, text, levelno=100):
-        self.name = name
-        self.text = text
-        self.levelno = levelno
-        self.exc_info = ""
-        self.exc_text = ""
-        self.stack_info = ""
 
-    def getMessage(self):
-        """
-        returns text of log
-        """
-        return self.text
+# def test_logger_thread(capsys):
+#     """
+#     Test that, when we put some fake logs in the Queue given to logger_thread,
+#     those logs are given to logger, and printed to err.
+#     """
+#     import multiprocessing
+#     import threading
+#     m = multiprocessing.Manager()
+#     q = m.Queue()
+#     lp = threading.Thread(target=utils.logger_thread, args=(q,))
+#     lp.start()
+#     q.put(FakeLog("myname", "hello!!"))
+#     q.put(FakeLog("other name", "that's me!!!"))
+#     q.put(None)
+#     lp.join()
+#     out, err = capsys.readouterr()
+#     print(err)
+#     assert out == ""
+#     assert "hello!!" in err
+#     assert "that's me!!!" in err
+
+
+# class FakeLog:
+#     """
+#     Class simulating a logger
+#     """
+
+#     def __init__(self, name, text, levelno=100):
+#         self.name = name
+#         self.text = text
+#         self.levelno = levelno
+#         self.exc_info = ""
+#         self.exc_text = ""
+#         self.stack_info = ""
+
+#     def getMessage(self):
+#         """
+#         returns text of log
+#         """
+#         return self.text