void Log::addDefaultLogSinks(const QString &outputDir) { addLogSink(std::make_unique<ConsoleLogSink>()); QFileInfo fi(QDir(outputDir), "boomerang.log"); addLogSink(std::make_unique<FileLogSink>(fi.absoluteFilePath())); writeLogHeader(); }
Logger::Logger() { m_Severity = severity::WARNING; string sEnvSeverity; bool bEnvSeveritySet = getEnv("AVG_LOG_SEVERITY", sEnvSeverity); if(bEnvSeveritySet) { m_Severity = Logger::stringToSeverity(sEnvSeverity); } setupCategory(); string sEnvCategories; bool bEnvSet = getEnv("AVG_LOG_CATEGORIES", sEnvCategories); if (bEnvSet) { vector<string> sCategories; ba::split(sCategories, sEnvCategories, ba::is_any_of(" "), ba::token_compress_on); vector<string>::iterator it; for(it=sCategories.begin(); it!=sCategories.end(); it++) { string::size_type pos = (*it).find(":"); string sCategory; string sSeverity = "NONE"; if(pos == string::npos) { sCategory = *it; } else { vector<string> tmpValues; ba::split( tmpValues, *it, ba::is_any_of(":"), ba::token_compress_on); sCategory = tmpValues.at(0); sSeverity = tmpValues.at(1); } severity_t severity = stringToSeverity(sSeverity); configureCategory(sCategory, severity); } } string sDummy; bool bEnvOmitStdErr = getEnv("AVG_LOG_OMIT_STDERR", sDummy); if (!bEnvOmitStdErr) { m_pStdSink = LogSinkPtr(new StandardLogSink); addLogSink(m_pStdSink); } }