Engauge Digitizer  2
Logger.cpp
Go to the documentation of this file.
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #include <log4cpp/Category.hh>
10 #include "Logger.h"
12 #include <QString>
13 
15 
16 const QString INDENTATION_PAST_TIMESTAMP (" ");
17 const QString INDENTATION_DELTA (" ");
18 
19 using namespace log4cpp;
20 
21 void initializeLogging (const QString &name,
22  const QString &filename,
23  bool isDebug)
24 {
25  LayoutAppender *appender = nullptr;
26 
27  const size_t MAX_FILE_SIZE_BYTES = 6 * 1024 * 1024; // Size that should satisfy most email servers
28  const unsigned int MAX_BACKUP_INDEX = 2;
29  const bool APPEND_TO_PREVIOUS_FILE = false;
30 
31  // Log to file for development
32  appender = dynamic_cast<LayoutAppender*> (new RollingFileAppender (name.toStdString (),
33  filename.toStdString (),
34  MAX_FILE_SIZE_BYTES,
35  MAX_BACKUP_INDEX,
36  APPEND_TO_PREVIOUS_FILE));
37 
38  PatternLayout *layout = new PatternLayout ();
39  // With date: %d{%H:%M:%S.%l} %-5p %c - %m%n
40  // Without date: %-5p %c - %m%n
41  layout->setConversionPattern ("%-5p %c - %m%n");
42  appender->setLayout (layout);
43 
45 
46  // Levels are EMERG, FATAL, ALERT, CRIT, ERROR, WARN, NOTICE, INFO, DEBUG.
47  //
48  // Most trace logging is at INFO level, but methods that are called extremely often (like mouse
49  // moves and status bar updates) are at the lower DEBUG level so they are rarely seen
50  if (isDebug) {
52  } else {
54  }
55 
56  mainCat->addAppender (appender);
57 }
INDENTATION_DELTA
const QString INDENTATION_DELTA(" ")
log4cpp::PatternLayout
Noop class that mimics the same class in the log4cpp library.
Definition: PatternLayout.hh:13
initializeLogging
void initializeLogging(const QString &name, const QString &filename, bool isDebug)
Definition: Logger.cpp:21
log4cpp::Priority::INFO
Definition: Priority.hh:18
RollingFileAppender.hh
PatternLayout.hh
log4cpp::Category::addAppender
void addAppender(Appender *appender)
Noop method to add an Appender.
Definition: Category.cpp:15
log4cpp::Category::setPriority
void setPriority(Priority::Value priority)
Noop method to set priority.
Definition: Category.cpp:38
log4cpp::PatternLayout::setConversionPattern
void setConversionPattern(const std::string &conversionPattern)
Noop method for setting the conversion pattern.
Definition: PatternLayout.cpp:22
Logger.h
log4cpp
Definition: Appender.hh:4
log4cpp::RollingFileAppender
Noop class that mimics the same class in the log4cpp library.
Definition: RollingFileAppender.hh:11
log4cpp::LayoutAppender::setLayout
virtual void setLayout(Layout *layout)=0
Set the layout for this Appender.
Definition: LayoutAppender.cpp:14
PropertyConfigurator.hh
log4cpp::Category::getRoot
static Category & getRoot()
Noop method to get root.
Definition: Category.cpp:24
mainCat
log4cpp::Category * mainCat
Definition: Logger.cpp:14
log4cpp::Priority::DEBUG
Definition: Priority.hh:19
log4cpp::LayoutAppender
Noop class that mimics the same class in the log4cpp library.
Definition: LayoutAppender.hh:12
INDENTATION_PAST_TIMESTAMP
const QString INDENTATION_PAST_TIMESTAMP(" ")
log4cpp::Category
Noop class that mimics class of the same name in log4cpp library.
Definition: Category.hh:14
Category.hh