Skip to content
Snippets Groups Projects
Log.cc 1.11 KiB
Newer Older
Mark Woolrich's avatar
Mark Woolrich committed
/*  Log.cc

    Mark Woolrich, FMRIB Image Analysis Group

    Copyright (C) 1999-2000 University of Oxford  */

/*  CCOPYRIGHT  */

#include "Log.h"

namespace Utilities {

  Log* Log::logger = NULL;
  
  void Log::makeDir(const string& pdirname, const string& plogfilename) 
    {
      dir = pdirname;
      logfilename = plogfilename;

      // make directory to place results into:
      // keep adding "+" until directory is made:      
      int count = 0;
      while(true)
	{
	  if(count >= 20)
	    {
	      string s("Cannot create directory " + dir);
	      throw Exception(s.c_str());
	    }

	  int ret = system(("mkdir "+ dir).c_str());
	  if(ret == 0)
	    {
	      break;
	    }
	  dir = dir + "+";
	  count++;
	}
      
      // setup logfile
      logfileout.open((dir + "/" + logfilename).c_str(), ios::out);

      logEstablished = true;
    }

void Log::setDir(const string& pdirname, const string& plogfilename) 
    {
      dir = pdirname;
      logfilename = plogfilename;

      // setup logfile
      logfileout.open((dir + "/" + logfilename).c_str(), ios::out);

      logEstablished = true;
    }
}