コード例 #1
0
ファイル: logger-factory.cpp プロジェクト: bombomstory/NFD
void
LoggerFactory::onConfig(const ConfigSection& section,
                        bool isDryRun,
                        const std::string& filename)
{
// log
// {
//   ; default_level specifies the logging level for modules
//   ; that are not explicitly named. All debugging levels
//   ; listed above the selected value are enabled.
//
//   default_level INFO
//
//   ; You may also override the default for specific modules:
//
//   FibManager DEBUG
//   Forwarder WARN
// }

  if (!isDryRun) {
    ConfigSection::const_assoc_iterator item = section.find("default_level");
    if (item != section.not_found()) {
      LogLevel level = extractLevel(item->second, "default_level");
      setDefaultLevel(level);
    }
    else {
      setDefaultLevel(LOG_INFO);
    }
  }

  for (const auto& i : section) {
    LogLevel level = extractLevel(i.second, i.first);

    if (i.first == "default_level") {
      // do nothing
    }
    else {
      std::unique_lock<std::mutex> lock(m_loggersGuard);
      LoggerMap::iterator loggerIt = m_loggers.find(i.first);
      if (loggerIt == m_loggers.end()) {
        lock.unlock();
        NFD_LOG_DEBUG("Failed to configure logging level for module \"" <<
                      i.first << "\" (module not found)");
      }
      else if (!isDryRun) {
        loggerIt->second.setLogLevel(level);
        lock.unlock();
        NFD_LOG_DEBUG("Changing level for module " << i.first << " to " << level);
      }
    }
  }
}
コード例 #2
0
ファイル: llerror.cpp プロジェクト: Boy/netbook
	void configure(const LLSD& config)
	{
		Globals& g = Globals::get();
		Settings& s = Settings::get();
		
		g.invalidateCallSites();
		s.functionLevelMap.clear();
		s.classLevelMap.clear();
		s.fileLevelMap.clear();
		
		setPrintLocation(config["print-location"]);
		setDefaultLevel(decodeLevel(config["default-level"]));
		
		LLSD sets = config["settings"];
		LLSD::array_const_iterator a, end;
		for (a = sets.beginArray(), end = sets.endArray(); a != end; ++a)
		{
			const LLSD& entry = *a;
			
			ELevel level = decodeLevel(entry["level"]);
			
			setLevels(s.functionLevelMap,	entry["functions"],	level);
			setLevels(s.classLevelMap,		entry["classes"],	level);
			setLevels(s.fileLevelMap,		entry["files"],		level);
		}
	}
コード例 #3
0
	void configure(const LLSD& config)
	{
		AIAccess<Settings> settings_w(Settings::get());
		AIAccess<Globals>(Globals::get())->invalidateCallSites();
		settings_w->functionLevelMap.clear();
		settings_w->classLevelMap.clear();
		settings_w->fileLevelMap.clear();
		settings_w->tagLevelMap.clear();
		settings_w->uniqueLogMessages.clear();
		
		setPrintLocation(settings_w, config["print-location"]);
		setDefaultLevel(settings_w, decodeLevel(config["default-level"]));
		
		LLSD sets = config["settings"];
		LLSD::array_const_iterator a, end;
		for (a = sets.beginArray(), end = sets.endArray(); a != end; ++a)
		{
			const LLSD& entry = *a;
			
			ELevel level = decodeLevel(entry["level"]);
			
			setLevels(settings_w->functionLevelMap, entry["functions"], level);
			setLevels(settings_w->classLevelMap,	 entry["classes"],   level);
			setLevels(settings_w->fileLevelMap,	 entry["files"],	 level);
			setLevels(settings_w->tagLevelMap,		 entry["tags"],		 level);
		}
	}
コード例 #4
0
ファイル: log.cpp プロジェクト: benoitryder/megumi
void Setup::configure(std::string s)
{
  auto pos = s.find('=');
  if(pos == std::string::npos) {
    setDefaultLevel(stringToLevel(s));
  } else {
    setLevel(s.substr(0, pos), stringToLevel(s.substr(pos+1)));
  }
}
コード例 #5
0
ファイル: utils_log.cpp プロジェクト: njoubert/PerVERT
void LogFactory::setAllLogLevel(LOGLEVEL level) {
    setDefaultLevel(level);
    map<string, Log>::iterator it;

    for ( it=logs.begin() ; it != logs.end(); it++ ) {
        (*it).second.setLevel(level);
    }

}
コード例 #6
0
ファイル: syl_serv_log.cpp プロジェクト: njoubert/Sylvester
void LogFactory::setAllLogLevel(LOGLEVEL level) {
	setDefaultLevel(level);
	map<string, Log>::iterator it;

	for ( it=logs.begin() ; it != logs.end(); it++ ) {
		(*it).second.setLevel(level);
		printf("Setting loglevel to %s for log %s\n", levelToChar(level), (*it).first.c_str());
	}

}
コード例 #7
0
	void setDefaultLevel(ELevel level)
	{
		setDefaultLevel(AIAccess<Settings>(Settings::get()), level);
	}