diff --git a/saqc/__main__.py b/saqc/__main__.py
index 061731173f118e358772821f7e0e6c4a1f270aed..65e7c868643e681eb3e066198f2b34a1f6fdde15 100644
--- a/saqc/__main__.py
+++ b/saqc/__main__.py
@@ -5,13 +5,16 @@ import click
 
 import numpy as np
 import pandas as pd
+import logging
 
-from saqc.core import SaQC, logger
+from saqc.core import SaQC
 from saqc.flagger import CategoricalFlagger
 from saqc.flagger.dmpflagger import DmpFlagger
 import dios
 
 
+logger = logging.getLogger("SaQC")
+
 FLAGGERS = {
     "numeric": CategoricalFlagger([-1, 0, 1]),
     "category": CategoricalFlagger(["NIL", "OK", "BAD"]),
@@ -19,6 +22,14 @@ FLAGGERS = {
 }
 
 
+def _setup_logging(loglvl):
+    logger.setLevel(loglvl)
+    handler = logging.StreamHandler()
+    formatter = logging.Formatter("[%(asctime)s][%(name)s][%(levelname)s]: %(message)s")
+    handler.setFormatter(formatter)
+    logger.addHandler(handler)
+
+
 @click.command()
 @click.option(
     "-c", "--config", type=click.Path(exists=True), required=True, help="path to the configuration file",
@@ -37,7 +48,7 @@ FLAGGERS = {
 @click.option("--fail/--no-fail", default=True, help="whether to stop the program run on errors")
 def main(config, data, flagger, outfile, nodata, log_level, fail):
 
-    logger.setLevel(log_level)
+    _setup_logging(log_level)
 
     data = pd.read_csv(data, index_col=0, parse_dates=True,)
     data = dios.DictOfSeries(data)
diff --git a/saqc/core/core.py b/saqc/core/core.py
index 08dd3927a105b32ed20ec12f498435cb3498135c..8467d07e3414dbd5828956a32ed914cfa8ab6a1a 100644
--- a/saqc/core/core.py
+++ b/saqc/core/core.py
@@ -90,13 +90,6 @@ def _setup():
     pd.set_option("mode.chained_assignment", "warn")
     np.seterr(invalid="ignore")
 
-    # logging
-    logger.setLevel(logging.INFO)
-    handler = logging.StreamHandler()
-    formatter = logging.Formatter("[%(asctime)s][%(name)s][%(levelname)s]: %(message)s")
-    handler.setFormatter(formatter)
-    logger.addHandler(handler)
-
 
 _setup()
 
@@ -157,6 +150,7 @@ class SaQC:
         data, flagger = self._data, self._flagger
 
         for field, func in self._to_call:
+            logger.debug(f"processing: {field}, {func.__name__}, {func.kwargs}")
 
             try:
                 data_result, flagger_result = func(data=data, flagger=flagger, field=field)