#include "initialize.h" #include "storm/settings/SettingsManager.h" #include "storm/settings/modules/DebugSettings.h" #include #include #include namespace storm { namespace utility { void initializeLogger() { l3pp::Logger::initialize(); // By default output to std::cout l3pp::SinkPtr sink = l3pp::StreamSink::create(std::cout); l3pp::Logger::getRootLogger()->addSink(sink); // Default to warn, set by user to something else l3pp::Logger::getRootLogger()->setLevel(l3pp::LogLevel::WARN); l3pp::FormatterPtr fptr = l3pp::makeTemplateFormatter( l3pp::FieldStr(), " (", l3pp::FieldStr(), ':', l3pp::FieldStr(), "): ", l3pp::FieldStr(), '\n' ); sink->setFormatter(fptr); } void setUp() { initializeLogger(); setOutputDigits(10); } void cleanUp() { // Intentionally left empty. } void setOutputDigits(int digits) { std::cout.precision(digits); } void setOutputDigitsFromGeneralPrecision(float precision) { if (precision >= 1 || precision < 0) { setOutputDigits(10); } else { int digits = ceil(-log10(precision)) + 4; // Ensure at least 10 digits for now if (digits < 10) { setOutputDigits(10); } else { setOutputDigits(digits); } } } l3pp::LogLevel getLogLevel() { return l3pp::Logger::getRootLogger()->getLevel(); } void setLogLevel(l3pp::LogLevel level) { l3pp::Logger::getRootLogger()->setLevel(level); if (level <= l3pp::LogLevel::DEBUG) { #ifdef STORM_LOG_DISABLE_DEBUG std::cout << "***** warning ***** requested loglevel is not compiled\n"; #endif } } void initializeFileLogging() { if (storm::settings::getModule().isLogfileSet()) { std::string logFileName = storm::settings::getModule().getLogfilename(); l3pp::SinkPtr sink = l3pp::FileSink::create(logFileName); l3pp::Logger::getRootLogger()->addSink(sink); } } } }