Log.h revision 10447
110447Snilay@cs.wisc.edu#ifndef __LOG_H__ 210447Snilay@cs.wisc.edu#define __LOG_H__ 310447Snilay@cs.wisc.edu 410447Snilay@cs.wisc.edu#include <cstdio> 510447Snilay@cs.wisc.edu#include <iostream> 610447Snilay@cs.wisc.edu#include <fstream> 710447Snilay@cs.wisc.edu 810447Snilay@cs.wisc.edu#include "String.h" 910447Snilay@cs.wisc.edu 1010447Snilay@cs.wisc.edu#ifndef LIBUTIL_IS_LOG 1110447Snilay@cs.wisc.edu#define LIBUTIL_IS_LOG false 1210447Snilay@cs.wisc.edu#endif 1310447Snilay@cs.wisc.edu 1410447Snilay@cs.wisc.edunamespace LibUtil 1510447Snilay@cs.wisc.edu{ 1610447Snilay@cs.wisc.edu using std::cerr; 1710447Snilay@cs.wisc.edu 1810447Snilay@cs.wisc.edu class Log 1910447Snilay@cs.wisc.edu { 2010447Snilay@cs.wisc.edu public: 2110447Snilay@cs.wisc.edu static void allocate(const String& log_file_name_); 2210447Snilay@cs.wisc.edu static void release(); 2310447Snilay@cs.wisc.edu 2410447Snilay@cs.wisc.edu static void print(const String& str_); 2510447Snilay@cs.wisc.edu static void print(std::ostream& stream_, const String& str_); 2610447Snilay@cs.wisc.edu static void printLine(const String& str_); 2710447Snilay@cs.wisc.edu static void printLine(std::ostream& stream_, const String& str_); 2810447Snilay@cs.wisc.edu 2910447Snilay@cs.wisc.edu protected: 3010447Snilay@cs.wisc.edu static Log* msSingleton; 3110447Snilay@cs.wisc.edu static const bool msIsLog; 3210447Snilay@cs.wisc.edu 3310447Snilay@cs.wisc.edu protected: 3410447Snilay@cs.wisc.edu Log(const String& log_file_name_); 3510447Snilay@cs.wisc.edu ~Log(); 3610447Snilay@cs.wisc.edu 3710447Snilay@cs.wisc.edu protected: 3810447Snilay@cs.wisc.edu std::ofstream ofs; 3910447Snilay@cs.wisc.edu }; 4010447Snilay@cs.wisc.edu} 4110447Snilay@cs.wisc.edu 4210447Snilay@cs.wisc.edu#endif // __LOG_H__ 4310447Snilay@cs.wisc.edu 44