void AgoApp::setupLogging() { log_container::initDefault(); std::string level_str; if(cli_vars["debug"].as<bool>()) level_str = "DEBUG"; else if(cli_vars["trace"].as<bool>()) level_str = "TRACE"; else if(cli_vars.count("log-level")) level_str = cli_vars["log-level"].as<std::string>(); else level_str = getConfigOption("log_level", "info", ExtraConfigNameList("system")); try { logLevel = log_container::getLevel(level_str); log_container::setCurrentLevel(logLevel); }catch(std::runtime_error &e) { throw ConfigurationError(e.what()); } std::string method; if(cli_vars["debug"].as<bool>() || cli_vars["trace"].as<bool>()) method = "console"; else if(cli_vars.count("log-method")) method = cli_vars["log-method"].as<std::string>(); else method = getConfigOption("log_method", "console", ExtraConfigNameList("system")); if(method == "syslog") { std::string facility_str; if(cli_vars.count("log-syslog-facility")) facility_str = cli_vars["log-syslog-facility"].as<std::string>(); else facility_str = getConfigOption("syslog_facility", "local0", ExtraConfigNameList("system")); int facility = log_container::getFacility(facility_str); if(facility == -1) { throw ConfigurationError("Bad syslog facility '" + facility_str + "'"); } log_container::setOutputSyslog(boost::to_lower_copy(appName), facility); AGO_DEBUG() << "Using syslog facility " << facility_str << ", level " << level_str; } else if(method == "console") { AGO_DEBUG() << "Using console log, level " << level_str; } else { throw ConfigurationError("Bad log_method '" + method + "'"); } method = getConfigOption("log_method", "console", ExtraConfigNameList("system")); }
int Lua::getConfigInt(int index, int _default) { getConfigOption(index); int ret = _default; if (!lua_isnil(L, -1)) ret = lua_tointeger(L, -1); lua_pop(L, 1); return ret; }
double Lua::getConfigDouble(int index, double _default) { getConfigOption(index); double ret = _default; if (!lua_isnil(L, -1)) ret = lua_tonumber(L, -1); lua_pop(L, 1); return ret; }
bool Lua::getConfigBool(int index, bool _default) { getConfigOption(index); bool ret = _default; if (!lua_isnil(L, -1)) ret = lua_toboolean(L, -1); lua_pop(L, 1); return ret; }