diff --git a/src/main/java/de/tudresden/inf/mci/brailleplot/App.java b/src/main/java/de/tudresden/inf/mci/brailleplot/App.java
index 6f8eaf9e9545045668df4fd79cf3694eaf7761e7..8d66ab405f266714a2bfa6b8d930ab52a5b3d8c8 100644
--- a/src/main/java/de/tudresden/inf/mci/brailleplot/App.java
+++ b/src/main/java/de/tudresden/inf/mci/brailleplot/App.java
@@ -1,5 +1,6 @@
 package de.tudresden.inf.mci.brailleplot;
 
+import ch.qos.logback.classic.Level;
 import de.tudresden.inf.mci.brailleplot.configparser.Format;
 import de.tudresden.inf.mci.brailleplot.configparser.JavaPropertiesConfigurationParser;
 import de.tudresden.inf.mci.brailleplot.configparser.Printer;
@@ -154,13 +155,14 @@ public final class App {
             // Parse command line parameters
             CommandLineParser cliParser = new CommandLineParser();
             if (CommandLineParser.checkForHelp(args)) {
-                // If requested, print help and exit
-                cliParser.printHelp();
+                cliParser.printHelp(); // If requested, print help and exit
                 return EXIT_SUCCESS;
             }
             SettingsWriter settings = cliParser.parse(args);
             SettingsReader settingsReader = settings;
 
+            setLoggingLevel(Level.valueOf(settingsReader.getSetting(SettingType.LOG_LEVEL).orElse("Info")));
+
             // Config Parsing
             JavaPropertiesConfigurationParser configParser;
             URL defaultConfig = getClass().getClassLoader().getResource("config/default.properties");
@@ -289,4 +291,9 @@ public final class App {
 
         return EXIT_SUCCESS;
     }
+
+    public static void setLoggingLevel(final Level level) {
+        ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) org.slf4j.LoggerFactory.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME);
+        root.setLevel(level);
+    }
 }
diff --git a/src/main/java/de/tudresden/inf/mci/brailleplot/commandline/CommandLineParser.java b/src/main/java/de/tudresden/inf/mci/brailleplot/commandline/CommandLineParser.java
index 4c1c91670c6851c89bb859538456892e811c512f..de9296afe106a0fc48f28327f806c3531aacdb5e 100644
--- a/src/main/java/de/tudresden/inf/mci/brailleplot/commandline/CommandLineParser.java
+++ b/src/main/java/de/tudresden/inf/mci/brailleplot/commandline/CommandLineParser.java
@@ -7,6 +7,7 @@ import org.apache.commons.cli.Option;
 import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
 
+import java.util.Arrays;
 import java.util.Objects;
 
 
@@ -43,7 +44,8 @@ public class CommandLineParser {
                 .addOption("v", SettingType.VERTICAL_CSV.toString(), false, "Parse CSV in vertical instead of horizontal orientation (Only applicable for BarChart)")
                 .addOption("i", SettingType.INHIBIT_PRINT.toString(), false, "Inhibit the printing process")
                 .addOption("s", SettingType.SVG_EXPORT.toString(), true, "Base file path for export of svg file(s) (Omit '.svg' suffix)")
-                .addOption("b", SettingType.BYTE_DUMP.toString(), true, "Base file path for print data byte dump file(s) (Omit '.bin' suffix)");
+                .addOption("b", SettingType.BYTE_DUMP.toString(), true, "Base file path for print data byte dump file(s) (Omit '.bin' suffix)")
+                .addOption("l", SettingType.LOG_LEVEL.toString(), true, "Logging output level. Possible Values: [All, Trace, Debug, Info, Warn, Error, Off] Defaults to 'Info'");
     }
 
     /**
@@ -77,7 +79,10 @@ public class CommandLineParser {
             // Will occur if any other option than "help" is encountered
             // For this case we can safely ignore it.
         }
-        if (Objects.nonNull(cmd) && cmd.hasOption(helpOption.getOpt())) {
+        if ((Objects.nonNull(cmd) && cmd.hasOption(helpOption.getOpt()))
+                || (args.length == 0)
+                || (Arrays.asList(args).contains("-" + helpOption.getOpt())
+                || (Arrays.asList(args).contains("--" + helpOption.getLongOpt())))) {
             hasHelp = true;
         }
         return hasHelp;
diff --git a/src/main/java/de/tudresden/inf/mci/brailleplot/commandline/SettingType.java b/src/main/java/de/tudresden/inf/mci/brailleplot/commandline/SettingType.java
index 43d2e34e0264f92b79775ed38710cba353be294b..8416660ded59ef6f4e5e0baace7c5fb5eac3b5b7 100644
--- a/src/main/java/de/tudresden/inf/mci/brailleplot/commandline/SettingType.java
+++ b/src/main/java/de/tudresden/inf/mci/brailleplot/commandline/SettingType.java
@@ -18,7 +18,8 @@ public enum SettingType {
     VERTICAL_CSV("vertical-csv"),
     INHIBIT_PRINT("inhibit-print"),
     SVG_EXPORT("svg-export"),
-    BYTE_DUMP("byte-dump");
+    BYTE_DUMP("byte-dump"),
+    LOG_LEVEL("log-level");
 
 
     private final String mName;
@@ -53,6 +54,8 @@ public enum SettingType {
                 return SVG_EXPORT;
             case "byte-dump":
                 return BYTE_DUMP;
+            case "log-level":
+                return LOG_LEVEL;
             default:
                 throw new IllegalArgumentException("Setting not available");
         }