+jaegertracing::reporters::Config ConfMaker::getReporterConfig()
+{
+ std::string agentHostPort = getEnv(JAEGER_AGENT_ADDR_ENV, jaegertracing::reporters::Config::kDefaultLocalAgentHostPort);
+
+ if (agentHostPort.find(':') == std::string::npos)
+ agentHostPort += ":6831";
+
+ return jaegertracing::reporters::Config(
+ 0, std::chrono::seconds(0), // use jaeger defaults
+ getLoggingLevel() == LOG_ALL, // log spans
+ agentHostPort
+ );
+}
+
+LogLevel ConfMaker::getLoggingLevel()
+{
+ std::string logLevel = getEnv(JAEGER_LOG_LEVEL_ENV, "error");
+ if (boost::iequals(logLevel, "all"))
+ return LOG_ALL;
+ else if (boost::iequals(logLevel, "error"))
+ return LOG_ERR;
+ else
+ return LOG_NONE;
+}
+
+std::unique_ptr<jaegertracing::logging::Logger> ConfMaker::getLogger()
+{
+ switch (getLoggingLevel())
+ {
+ case LOG_ALL:
+ case LOG_ERR:
+ return jaegertracing::logging::consoleLogger();
+ break;
+ default:
+ return jaegertracing::logging::nullLogger();
+ }
+}
+
+jaegertracing::Config ConfMaker::getTraceConfig()
+{
+ if (!isTracingEnabled())
+ return makeNopTraceConfig();
+ auto sampler = getSamplerConfig();
+ auto reporter = getReporterConfig();
+ return jaegertracing::Config(false, sampler, reporter);
+}