///////////////////////////////////////////////////////////////////// // LoggerClient - uses Logger // // ver 1.0 // // Jim Fawcett, CSE687 - Object Oriented Design, Fall 2018 // ///////////////////////////////////////////////////////////////////// /* * Package Operations: * ------------------- * This package defines a LoggerClient: * - Creates a singleton logger, using only the ILogger * interface and SingletonLoggerFactory * - It binds only to the logger and factory abstractions. * - It makes a reference to a static library for SingletonLogger, but * is isolated from those details by the interface and factory. * * Required Files: * --------------- * SingletonLoggerFactory.h - no implementation * ISingletonLogger.h - no implementation * Static Library for SingletonLogger * or * SingletonLogger.h, SingletonLogger.cpp (needed only for testing) * SingletonLoggerFactory.h, SingletonLoggerFactory.cpp * DateTime.h, DateTime.cpp * * Maintenance History: * -------------------- * ver 1.0 : 07 Oct 2018 * - first release */ #include #include "../SingletonLogger/SingletonLogger/ISingletonLogger.h" #include "../SingletonLogger/SingletonLogger/SingletonLoggerFactory.h" using namespace CodeUtilities; using IsLogger = ILogger<1, Lock>; using LoggerFactory = SingletonLoggerFactory<1, Lock>; int main() { std::cout << "\n Testing Logger interface and factory"; std::cout << "\n ======================================"; IsLogger* pLog = LoggerFactory::getInstance(); // static method pLog->setAuthor("Jim Fawcett"); pLog->writeHead("\n start logging"); pLog->write("logger here"); pLog->writeTail("end logging"); std::cout << "\n\n"; }