00001
00002
00003
00004
00005
00006
00007 #include <log4cpp/Category.hh>
00008 #include <log4cpp/PatternLayout.hh>
00009 #include <log4cpp/PropertyConfigurator.hh>
00010 #include "Logger.h"
00011 #include <log4cpp/RollingFileAppender.hh>
00012 #include <QString>
00013
00014 log4cpp::Category *mainCat;
00015
00016 const QString INDENTATION_PAST_TIMESTAMP (" ");
00017 const QString INDENTATION_DELTA (" ");
00018
00019 using namespace log4cpp;
00020
00021 void initializeLogging (const QString &name,
00022 const QString &filename,
00023 bool isDebug)
00024 {
00025 LayoutAppender *appender = 0;
00026
00027 const size_t MAX_FILE_SIZE_BYTES = 6 * 1024 * 1024;
00028 const unsigned int MAX_BACKUP_INDEX = 2;
00029 const bool APPEND_TO_PREVIOUS_FILE = false;
00030
00031
00032 appender = dynamic_cast<LayoutAppender*> (new RollingFileAppender (name.toStdString (),
00033 filename.toStdString (),
00034 MAX_FILE_SIZE_BYTES,
00035 MAX_BACKUP_INDEX,
00036 APPEND_TO_PREVIOUS_FILE));
00037
00038 PatternLayout *layout = new PatternLayout ();
00039 layout->setConversionPattern ("%d{%H:%M:%S.%l} %-5p %c - %m%n");
00040 appender->setLayout (layout);
00041
00042 mainCat = &Category::getRoot ();
00043
00044
00045
00046
00047
00048 if (isDebug) {
00049 mainCat->setPriority (Priority::DEBUG);
00050 } else {
00051 mainCat->setPriority (Priority::INFO);
00052 }
00053
00054 mainCat->addAppender (appender);
00055 }