PABLO  0.1
PArallel Balanced Linear Octree
 All Classes Functions Variables Pages
Class_Log.cpp
1 /*
2  * ClassLog.cpp
3  *
4  * Created on: 3 dec 2014
5  * Author: marco
6  */
7 
8 #include <Class_Log.hpp>
9 
10 #if NOMPI==0
11 Class_Log::Class_Log(string filename_,MPI_Comm comm_) : filename(filename_),comm(comm_) {};
12 #else
13 Class_Log::Class_Log(string filename_) : filename(filename_) {};
14 #endif
15 
16 Class_Log::~Class_Log() {};
17 
18 // ----------------------------------------------------------------------------------- //
19 void Class_Log::writeLog(string msg) {
20 
21  // =================================================================================== //
22  // void Write_Log(string msg) //
23  // //
24  // Append message into a .log file //
25  // =================================================================================== //
26  // INPUT //
27  // =================================================================================== //
28  // - msg : string, message to be appended into the .log file. //
29  // =================================================================================== //
30  // OUTPUT //
31  // =================================================================================== //
32  // - none //
33  // =================================================================================== //
34 
35  // =================================================================================== //
36  // VARIABLES DECLARATION //
37  // =================================================================================== //
38 
39  // Local variables
40  ofstream file_handle;
41 
42  // Counters
43  // none
44 
45  // =================================================================================== //
46  // APPEND MESSAGE TO THE LOG FILE //
47  // =================================================================================== //
48 
49  int rank = 0;
50 #if NOMPI==0
51  int error_flag = MPI_Comm_rank(comm,&rank);
52 #endif
53  if(rank == 0){
54  // Open the .log file
55  file_handle.open(filename.c_str(), ifstream::app);
56  if(!file_handle.is_open())
57  exit(1);
58 
59  // Append message to the .log file
60  file_handle << msg << endl;
61 
62  // Close file
63  file_handle.close();
64  }
65 #if NOMPI==0
66  error_flag = MPI_Barrier(comm);
67 #endif
68  return; };