From e748c3526878dfb25f597c42162c8225fa676237 Mon Sep 17 00:00:00 2001 From: dehnert Date: Sun, 25 Nov 2012 13:29:26 +0100 Subject: [PATCH] Added logging for both main files. --- src/mrmc.cpp | 46 ++++++++++++++++++++++++++++++++------------- test/mrmc-tests.cpp | 24 +++++++++++++++++++++++ 2 files changed, 57 insertions(+), 13 deletions(-) diff --git a/src/mrmc.cpp b/src/mrmc.cpp index 6d96f7852..96557953f 100644 --- a/src/mrmc.cpp +++ b/src/mrmc.cpp @@ -24,26 +24,44 @@ #include "src/utility/settings.h" #include "Eigen/Sparse" -#include -#include -#include +#include "log4cplus/logger.h" +#include "log4cplus/loggingmacros.h" +#include "log4cplus/consoleappender.h" +#include "log4cplus/fileappender.h" #include "src/exceptions/InvalidSettings.h" - + +log4cplus::Logger logger; + +/*! + * Initializes the logging framework. + */ +void setUpLogging() { + log4cplus::SharedAppenderPtr fileLogAppender(new log4cplus::FileAppender("mrmc.log")); + fileLogAppender->setName("mainFileAppender"); + fileLogAppender->setLayout(std::auto_ptr(new log4cplus::PatternLayout("%-5p - %D{%H:%M:%s} (%r ms) - %F:%L : %m%n"))); + logger = log4cplus::Logger::getInstance("mainLogger"); + logger.addAppender(fileLogAppender); + + // Uncomment these lines to enable console logging output + // log4cplus::SharedAppenderPtr consoleLogAppender(new log4cplus::ConsoleAppender()); + // consoleLogAppender->setName("mainConsoleAppender"); + // consoleLogAppender->setLayout(std::auto_ptr(new log4cplus::PatternLayout("%-5p - %D{%H:%M:%s} (%r ms) - %F:%L : %m%n"))); + // logger.addAppender(consoleLogAppender); +} + int main(const int argc, const char* argv[]) { + setUpLogging(); + mrmc::settings::Settings* s = NULL; - log4cplus::BasicConfigurator loggingConfig; - loggingConfig.configure(); - log4cplus::Logger logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main")); + LOG4CPLUS_INFO(logger, "This is the Markov Reward Model Checker (MRMC) by i2 of RWTH Aachen university."); - - try - { + + try { s = new mrmc::settings::Settings(argc, argv, nullptr); } - catch (mrmc::exceptions::InvalidSettings&) - { - std::cout << "Could not recover from settings error, terminating." << std::endl; + catch (mrmc::exceptions::InvalidSettings&) { + LOG4CPLUS_FATAL(logger, "Could not recover from settings error, terminating."); delete s; return 1; } @@ -69,6 +87,8 @@ int main(const int argc, const char* argv[]) { delete s; } + LOG4CPLUS_INFO(logger, "Nothing more to do, exiting."); + return 0; } diff --git a/test/mrmc-tests.cpp b/test/mrmc-tests.cpp index 5bc3062b9..6e599da9b 100644 --- a/test/mrmc-tests.cpp +++ b/test/mrmc-tests.cpp @@ -1,8 +1,32 @@ #include #include "gtest/gtest.h" +#include "log4cplus/logger.h" +#include "log4cplus/loggingmacros.h" +#include "log4cplus/consoleappender.h" +#include "log4cplus/fileappender.h" + +log4cplus::Logger logger; + +/*! + * Initializes the logging framework. + */ +void setUpLogging() { + log4cplus::SharedAppenderPtr fileLogAppender(new log4cplus::FileAppender("mrmc-tests.log")); + fileLogAppender->setName("mainFileAppender"); + fileLogAppender->setLayout(std::auto_ptr(new log4cplus::PatternLayout("%-5p - %D{%H:%M:%s} (%r ms) - %F:%L : %m%n"))); + logger = log4cplus::Logger::getInstance("mainLogger"); + logger.addAppender(fileLogAppender); + + // Uncomment these lines to enable console logging output + // log4cplus::SharedAppenderPtr consoleLogAppender(new log4cplus::ConsoleAppender()); + // consoleLogAppender->setName("mainConsoleAppender"); + // consoleLogAppender->setLayout(std::auto_ptr(new log4cplus::PatternLayout("%-5p - %D{%H:%M:%s} (%r ms) - %F:%L : %m%n"))); + // logger.addAppender(consoleLogAppender); +} int main(int argc, char** argv) { + setUpLogging(); std::cout << "MRMC Testing Suite" << std::endl; testing::InitGoogleTest(&argc, argv);