61 lines
2.0 KiB

#include "initialize.h"
#include "macros.h"
#include "src/settings/SettingsManager.h"
#include "src/settings/modules/DebugSettings.h"
#ifdef STORM_LOGGING_FRAMEWORK
#include "log4cplus/consoleappender.h"
#include "log4cplus/fileappender.h"
log4cplus::Logger logger;
log4cplus::Logger printer;
#else
int storm_runtime_loglevel = STORM_LOGLEVEL_WARN;
#endif
namespace storm {
namespace utility {
void initializeLogger() {
#ifdef STORM_LOGGING_FRAMEWORK
auto loglevel = storm::settings::debugSettings().isTraceSet() ? log4cplus::TRACE_LOG_LEVEL : storm::settings::debugSettings().isDebugSet() ? log4cplus::DEBUG_LOG_LEVEL : log4cplus::WARN_LOG_LEVEL;
initializeLogger(loglevel);
#endif
}
#ifdef STORM_LOGGING_FRAMEWORK
void initializeLogger(log4cplus::LogLevel const& loglevel) {
logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main"));
log4cplus::SharedAppenderPtr consoleLogAppender(new log4cplus::ConsoleAppender());
consoleLogAppender->setName("mainConsoleAppender");
consoleLogAppender->setLayout(std::auto_ptr<log4cplus::Layout>(new log4cplus::PatternLayout("%-5p - %D{%H:%M:%S} (%r ms) - %b:%L: %m%n")));
logger.addAppender(consoleLogAppender);
logger.setLogLevel(loglevel);
consoleLogAppender->setThreshold(loglevel);
}
#endif
void setUp() {
initializeLogger();
std::cout.precision(10);
}
void cleanUp() {
// Intentionally left empty.
}
void initializeFileLogging() {
#ifdef STORM_LOGGING_FRAMEWORK
log4cplus::SharedAppenderPtr fileLogAppender(new log4cplus::FileAppender(storm::settings::debugSettings().getLogfilename()));
fileLogAppender->setName("mainFileAppender");
fileLogAppender->setLayout(std::auto_ptr<log4cplus::Layout>(new log4cplus::PatternLayout("%-5p - %D{%H:%M:%S} (%r ms) - %F:%L: %m%n")));
logger.addAppender(fileLogAppender);
#endif
}
}
}