/* Copyright (C) 2001-2004 Stephane Magnenat & Luc-Olivier de Charrière for any question or comment contact us at or This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "LogFileManager.h" #include "FileManager.h" using namespace GAGCore; #include #include #include #include #include "GlobalContainer.h" LogFileManager::LogFileManager(FileManager *fileManager) { this->fileManager=fileManager; } LogFileManager::~LogFileManager() { for (NameFileMap::iterator logFileIt=logFileMap.begin(); logFileIt!=logFileMap.end(); ++logFileIt) if (logFileIt->second != stdout) fclose(logFileIt->second); } FILE *LogFileManager::getFile(const char *fileName) { ///This is a hack to temporarilly disable log files return stdout; std::string logName = "logs/"; logName += globalContainer->getUsername(); logName += fileName; if (logFileMap.find(logName) == logFileMap.end()) { FILE *file=fileManager->openFP(logName.c_str(), "w"); if (file==NULL) file = stdout; logFileMap[logName] = file; return file; } else { return logFileMap[logName]; } }