Newer
Older
/* Log.cc
Mark Woolrich, FMRIB Image Analysis Group
Copyright (C) 1999-2000 University of Oxford */
/* CCOPYRIGHT */
#include "Log.h"
#include <iostream>
#include <fstream>
#include <strstream>
#include <string>
int Log::count = 0;
template<class t> string tostring(const t obj)
{
char strc[100];
ostrstream str(strc,100);
str << obj << '\0';
return string(strc);
}
// SPECIFIC INSTANTIATIONS
template<int> string tostring(const int obj);
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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;
}
}