Skip to content
Permalink
Browse files

Map irrlicht log level to minetest. Allow write them to debug file.

  • Loading branch information
RealBadAngel authored and sapier committed May 7, 2014
1 parent 6c37e89 commit c8a99404e8c52a59127bdd634b13f10f7ebb19ab
Showing with 30 additions and 1 deletion.
  1. +30 −1 src/main.cpp
@@ -304,6 +304,11 @@ class MyEventReceiver : public IEventReceiver
} }
} }
} }
if(event.EventType == irr::EET_LOG_TEXT_EVENT)
{
dstream<<"Irrlicht log: "<<event.LogEvent.Text<<std::endl;
return true;
}
/* always return false in order to continue processing events */ /* always return false in order to continue processing events */
return false; return false;
} }
@@ -775,6 +780,8 @@ int main(int argc, char *argv[])
_("Set world path (implies local game) ('list' lists all)")))); _("Set world path (implies local game) ('list' lists all)"))));
allowed_options.insert(std::make_pair("worldname", ValueSpec(VALUETYPE_STRING, allowed_options.insert(std::make_pair("worldname", ValueSpec(VALUETYPE_STRING,
_("Set world by name (implies local game)")))); _("Set world by name (implies local game)"))));
allowed_options.insert(std::make_pair("quiet", ValueSpec(VALUETYPE_FLAG,
_("Print to console errors only"))));
allowed_options.insert(std::make_pair("info", ValueSpec(VALUETYPE_FLAG, allowed_options.insert(std::make_pair("info", ValueSpec(VALUETYPE_FLAG,
_("Print more information to console")))); _("Print more information to console"))));
allowed_options.insert(std::make_pair("verbose", ValueSpec(VALUETYPE_FLAG, allowed_options.insert(std::make_pair("verbose", ValueSpec(VALUETYPE_FLAG,
@@ -848,7 +855,12 @@ int main(int argc, char *argv[])
/* /*
Low-level initialization Low-level initialization
*/ */


// Quiet mode, print errors only
if(cmd_args.getFlag("quiet")){
log_remove_output(&main_stderr_log_out);
log_add_output_maxlev(&main_stderr_log_out, LMT_ERROR);
}
// If trace is enabled, enable logging of certain things // If trace is enabled, enable logging of certain things
if(cmd_args.getFlag("trace")){ if(cmd_args.getFlag("trace")){
dstream<<_("Enabling trace level debug output")<<std::endl; dstream<<_("Enabling trace level debug output")<<std::endl;
@@ -1450,6 +1462,23 @@ int main(int argc, char *argv[])
if (device == 0) { if (device == 0) {
return 1; // could not create selected driver. return 1; // could not create selected driver.
} }

// Map our log level to irrlicht engine one.
static const irr::ELOG_LEVEL irr_log_level[5] = {
ELL_NONE,
ELL_ERROR,
ELL_WARNING,
ELL_INFORMATION,
#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 8)
ELL_INFORMATION
#else
ELL_DEBUG
#endif
};

ILogger* irr_logger = device->getLogger();
irr_logger->setLogLevel(irr_log_level[loglevel]);

porting::initIrrlicht(device); porting::initIrrlicht(device);


/* /*

0 comments on commit c8a9940

Please sign in to comment.
You can’t perform that action at this time.