| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | 
							- #pragma once
 
- #include "CConsoleHandler.h"
 
- extern DLL_LINKAGE std::ostream *logfile;
 
- extern DLL_LINKAGE CConsoleHandler *console;
 
- // CLogger, prints log info to console and saves in file
 
- class DLL_LINKAGE CLogger
 
- {
 
- 	const int lvl;
 
- #ifdef ANDROID
 
- 	std::ostringstream buf;
 
- 	int androidloglevel;
 
- 	void outputAndroid();
 
- #endif
 
- public:
 
- 	static const int CONSOLE_LOGGING_LEVEL;
 
- 	static const int FILE_LOGGING_LEVEL;
 
- 	
 
- 	CLogger& operator<<(std::ostream& (*fun)(std::ostream&));
 
- 	template<typename T> 
 
- 	CLogger & operator<<(const T & data)
 
- 	{
 
- #ifdef ANDROID
 
- 		buf << data;
 
- 		outputAndroid();
 
- #else
 
- 		if(lvl < CLogger::CONSOLE_LOGGING_LEVEL)
 
- 		{
 
- 			if(console)
 
- 				console->print(data, lvl);
 
- 			else
 
- 				std::cout << data << std::flush;
 
- 		}
 
- 		if((lvl < CLogger::FILE_LOGGING_LEVEL) && logfile)
 
- 			*logfile << data << std::flush;
 
- #endif
 
- 		return *this;
 
- 	}
 
- 	CLogger(const int Lvl);
 
- };
 
- extern DLL_LINKAGE CLogger tlog0; //green - standard progress info
 
- extern DLL_LINKAGE CLogger tlog1; //red - big errors
 
- extern DLL_LINKAGE CLogger tlog2; //magenta - major warnings
 
- extern DLL_LINKAGE CLogger tlog3; //yellow - minor warnings
 
- extern DLL_LINKAGE CLogger tlog4; //white - detailed log info
 
- extern DLL_LINKAGE CLogger tlog5; //gray - minor log info
 
- extern DLL_LINKAGE CLogger tlog6; //teal - AI info
 
 
  |