Beispiel #1
0
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"));
}
Beispiel #2
0
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;
}
Beispiel #3
0
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;
}
Beispiel #4
0
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;
}