#include "Log.h" #include namespace BlueCore { //-------------------------------------------------------------------------- Log::Log() : _LogFilename( "log.txt" ) { reset(); } //-------------------------------------------------------------------------- void Log::reset() { std::ifstream testfile( _LogFilename.c_str() ); if( testfile.is_open() ) { testfile.close(); _LogFile.open( _LogFilename.c_str(), std::ios::trunc ); _LogFile.close(); } } //-------------------------------------------------------------------------- void Log::setFilename( const std::string &name ) { _LogFilename = name; reset(); } //-------------------------------------------------------------------------- Log &Log::operator << (const EndLine &e) { _LogFile << '\n'; std::cout << '\n'; return *this; } //-------------------------------------------------------------------------- Log &Log::operator << (const EndLog &e) { _LogFile << '\n'; _LogFile.close(); std::cout << '\n'; std::cout.flush(); return *this; } //-------------------------------------------------------------------------- Log &Log::operator << (const Time &t) { std::time_t rawtime; std::time ( &rawtime ); char *tc = std::ctime( &rawtime ); _LogFile << tc; std::cout << tc; return *this; } //-------------------------------------------------------------------------- Log &Log::operator << (const Flush &f) { _LogFile.close(); std::cout.flush(); return *this; } //-------------------------------------------------------------------------- Log::EndLine endline; Log::EndLog endlog; Log::Time time; Log::Flush flush; Log clog; }