diff --git a/Log.h b/Log.h
index f82b6d955e466cbdc5c98b9609aa52eeeb77df3c..305fc39c269d5889925199a19f0dff2ce9fccb73 100644
--- a/Log.h
+++ b/Log.h
@@ -43,7 +43,7 @@ namespace Utilities{
       void out(const string& p_fname, const ColumnVector& p_mat, const string& plogfilename = "logfile");
 
       static int counter() { return count++; }
-      ofstream& str();
+      ofstream& str(const string& plogfilename = "logfile");
       
     private:
       Log():logEstablished(false) {}
@@ -60,7 +60,7 @@ namespace Utilities{
       bool logEstablished;
     };
   
-  inline void Log::out(const string& p_fname, const Matrix& p_mat)
+  inline void Log::out(const string& p_fname, const Matrix& p_mat, const string& plogfilename)
     {
 
       if(!logEstablished)
@@ -85,7 +85,7 @@ namespace Utilities{
       out.close();
     }
   
-  inline void Log::out(const string& p_fname, const ColumnVector& p_mat)
+  inline void Log::out(const string& p_fname, const ColumnVector& p_mat, const string& plogfilename)
     {
       if(!logEstablished)
 	{
@@ -105,7 +105,7 @@ namespace Utilities{
       out.close();
     }
 
-  inline void Log::out(const string& p_fname, const RowVector& p_mat)
+  inline void Log::out(const string& p_fname, const RowVector& p_mat, const string& plogfilename)
     {
 
       if(!logEstablished)
@@ -133,7 +133,7 @@ namespace Utilities{
     return *logger;
   }
 
-  inline ofstream& Log::str() { 
+  inline ofstream& Log::str(const string& plogfilename) { 
     
     if(!logEstablished)
       {