aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 7f9f0967e..d9073cfb8 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -266,6 +266,15 @@ static void set_allowed_options(OptionList *allowed_options)
"'name' lists names, 'both' lists both)"))));
allowed_options->insert(std::make_pair("quiet", ValueSpec(VALUETYPE_FLAG,
_("Print to console errors only"))));
+#if !defined(_WIN32)
+ allowed_options->insert(std::make_pair("color", ValueSpec(VALUETYPE_STRING,
+ _("Coloured logs ('always', 'never' or 'auto'), defaults to 'auto'"
+ ))));
+#else
+ allowed_options->insert(std::make_pair("color", ValueSpec(VALUETYPE_STRING,
+ _("Coloured logs ('always' or 'never'), defaults to 'never'"
+ ))));
+#endif
allowed_options->insert(std::make_pair("info", ValueSpec(VALUETYPE_FLAG,
_("Print more information to console"))));
allowed_options->insert(std::make_pair("verbose", ValueSpec(VALUETYPE_FLAG,
@@ -393,6 +402,17 @@ static void setup_log_params(const Settings &cmd_args)
g_logger.addOutputMaxLevel(&stderr_output, LL_ERROR);
}
+ // Coloured log messages (see log.h)
+ if (cmd_args.exists("color")) {
+ std::string mode = cmd_args.get("color");
+ if (mode == "auto")
+ Logger::color_mode = LOG_COLOR_AUTO;
+ else if (mode == "always")
+ Logger::color_mode = LOG_COLOR_ALWAYS;
+ else
+ Logger::color_mode = LOG_COLOR_NEVER;
+ }
+
// If trace is enabled, enable logging of certain things
if (cmd_args.getFlag("trace")) {
dstream << _("Enabling trace level debug output") << std::endl;