diff options
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 20 |
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; |