Index: src/Analysis/analysis_bonds.cpp
===================================================================
--- src/Analysis/analysis_bonds.cpp	(revision 7ba268a58e24918f9b4f28cee1e5b542596e56ca)
+++ src/Analysis/analysis_bonds.cpp	(revision 41a467397fe65de7b369f9989fc26e6e18070f2e)
@@ -54,5 +54,5 @@
   }
   if (((int)Mean % 2) != 0)
-    DoeLog(1) && (eLog()<< Verbose(1) << "Something is wrong with the bond structure, the number of bonds is not even!" << endl);
+    ELOG(1, "Something is wrong with the bond structure, the number of bonds is not even!");
   Mean /= (double)AtomCount;
 };
@@ -182,5 +182,5 @@
                 Interface2Flag = Interface2Flag || (OtherAtom->getType() == Interface2Element);
               }
-              DoLog(1) && (Log() << Verbose(1) << "Otherangle is " << Otherangle << " for " << OtherHydrogens << " hydrogens." << endl);
+              LOG(1, "Otherangle is " << Otherangle << " for " << OtherHydrogens << " hydrogens.");
               switch (OtherHydrogens) {
                 case 0:
@@ -204,5 +204,5 @@
                     // check angle
                     if (CheckHydrogenBridgeBondAngle(*Walker, OtherAtom, *Runner)) {
-                      DoLog(1) && (Log() << Verbose(1) << (*Walker)->getName() << ", " << OtherAtom->getName() << " and " << (*Runner)->getName() << " has a hydrogen bridge bond with distance " << sqrt(distance) << " and angle " << CalculateAngle(OtherAtom->getPosition(), (*Walker)->getPosition(), (*Runner)->getPosition())*(180./M_PI) << "." << endl);
+                      LOG(1, (*Walker)->getName() << ", " << OtherAtom->getName() << " and " << (*Runner)->getName() << " has a hydrogen bridge bond with distance " << sqrt(distance) << " and angle " << CalculateAngle(OtherAtom->getPosition(), (*Walker)->getPosition(), (*Runner)->getPosition())*(180./M_PI) << ".");
                       count++;
                       break;
@@ -242,5 +242,5 @@
           if (((OtherAtom->getType() == first) || (OtherAtom->getType() == second)) && (theAtom->getNr() < OtherAtom->getNr())) {
             count++;
-            DoLog(1) && (Log() << Verbose(1) << *first << "-" << *second << " bond found between " << *Walker << " and " << *OtherAtom << "." << endl);
+            LOG(1, *first << "-" << *second << " bond found between " << *Walker << " and " << *OtherAtom << ".");
           }
         }
@@ -292,5 +292,5 @@
         if (result) { // check results
           count++;
-          DoLog(1) && (Log() << Verbose(1) << *first << "-" << *second << "-" << *third << " bond found at " << *Walker << "." << endl);
+          LOG(1, *first << "-" << *second << "-" << *third << " bond found at " << *Walker << ".");
         }
       }
Index: src/Analysis/analysis_correlation.cpp
===================================================================
--- src/Analysis/analysis_correlation.cpp	(revision 7ba268a58e24918f9b4f28cee1e5b542596e56ca)
+++ src/Analysis/analysis_correlation.cpp	(revision 41a467397fe65de7b369f9989fc26e6e18070f2e)
@@ -93,5 +93,5 @@
   if (SumOfVectors != 0)
     DipoleVector *= 1./(double)SumOfVectors;
-  DoLog(1) && (Log() << Verbose(1) << "Resulting dipole vector is " << DipoleVector << std::endl);
+  LOG(1, "Resulting dipole vector is " << DipoleVector);
 
   return DipoleVector;
@@ -248,5 +248,5 @@
 //
   if (molecules.empty()) {
-    DoeLog(1) && (eLog()<< Verbose(1) <<"No molecule given." << endl);
+    ELOG(1, "No molecule given.");
     return outmap;
   }
@@ -254,6 +254,5 @@
   for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin();
       MolWalker != molecules.end(); ++MolWalker) {
-    DoLog(2) && (Log()<< Verbose(2) << "Current molecule is "
-        << (*MolWalker)->getId() << "." << endl);
+    LOG(2, "INFO: Current molecule is " << (*MolWalker)->getId() << ".");
     const Vector Dipole = getDipole((*MolWalker)->begin(), (*MolWalker)->end());
     std::vector<molecule *>::const_iterator MolOtherWalker = MolWalker;
@@ -261,9 +260,8 @@
         MolOtherWalker != molecules.end();
         ++MolOtherWalker) {
-      DoLog(2) && (Log() << Verbose(2) << "Current other molecule is "
-          << (*MolOtherWalker)->getId() << "." << endl);
+      LOG(2, "INFO: Current other molecule is " << (*MolOtherWalker)->getId() << ".");
       const Vector OtherDipole = getDipole((*MolOtherWalker)->begin(), (*MolOtherWalker)->end());
       const double angle = Dipole.Angle(OtherDipole) * (180./M_PI);
-      DoLog(1) && (Log() << Verbose(1) << "Angle is " << angle << "." << endl);
+      LOG(1, "Angle is " << angle << ".");
       outmap->insert ( make_pair (angle, make_pair ((*MolWalker), (*MolOtherWalker)) ) );
     }
@@ -287,5 +285,5 @@
 
   if (molecules.empty()) {
-    DoeLog(1) && (eLog()<< Verbose(1) <<"No molecule given." << endl);
+    ELOG(1, "No molecule given.");
     return outmap;
   }
@@ -300,5 +298,5 @@
         if (type1 != type2) {
           PairsOfElements.insert( make_pair(*type1,*type2) );
-          DoLog(1) && (Log() << Verbose(1) << "Creating element pair " << *(*type1) << " and " << *(*type2) << "." << endl);
+          LOG(1, "Creating element pair " << *(*type1) << " and " << *(*type2) << ".");
         }
   } else if (elements.size() == 1) { // one to all are valid
@@ -312,16 +310,16 @@
   outmap = new PairCorrelationMap;
   for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++){
-    DoLog(2) && (Log()<< Verbose(2) << "Current molecule is " << (*MolWalker)->getName() << "." << endl);
+    LOG(2, "Current molecule is " << (*MolWalker)->getName() << ".");
     for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
-      DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl);
+      LOG(3, "Current atom is " << **iter << ".");
       for (std::vector<molecule *>::const_iterator MolOtherWalker = MolWalker; MolOtherWalker != molecules.end(); MolOtherWalker++){
-        DoLog(2) && (Log() << Verbose(2) << "Current other molecule is " << (*MolOtherWalker)->getName() << "." << endl);
+        LOG(2, "Current other molecule is " << (*MolOtherWalker)->getName() << ".");
         for (molecule::const_iterator runner = (*MolOtherWalker)->begin(); runner != (*MolOtherWalker)->end(); ++runner) {
-          DoLog(3) && (Log() << Verbose(3) << "Current otheratom is " << **runner << "." << endl);
+          LOG(3, "Current otheratom is " << **runner << ".");
           if ((*iter)->getId() < (*runner)->getId()){
             for (set <pair<const element *, const element *> >::iterator PairRunner = PairsOfElements.begin(); PairRunner != PairsOfElements.end(); ++PairRunner)
               if ((PairRunner->first == (**iter).getType()) && (PairRunner->second == (**runner).getType())) {
                 distance = domain.periodicDistance((*iter)->getPosition(),(*runner)->getPosition());
-                //Log() << Verbose(1) <<"Inserting " << *(*iter) << " and " << *(*runner) << endl;
+                //LOG(1, "Inserting " << *(*iter) << " and " << *(*runner));
                 outmap->insert ( pair<double, pair <atom *, atom*> > (distance, pair<atom *, atom*> ((*iter), (*runner)) ) );
               }
@@ -354,5 +352,5 @@
 
   if (molecules.empty()) {
-    DoeLog(1) && (eLog()<< Verbose(1) <<"No molecule given." << endl);
+    ELOG(1, "No molecule given.");
     return outmap;
   }
@@ -367,5 +365,5 @@
         if (type1 != type2) {
           PairsOfElements.insert( make_pair(*type1,*type2) );
-          DoLog(1) && (Log() << Verbose(1) << "Creating element pair " << *(*type1) << " and " << *(*type2) << "." << endl);
+          LOG(1, "Creating element pair " << *(*type1) << " and " << *(*type2) << ".");
         }
   } else if (elements.size() == 1) { // one to all are valid
@@ -381,7 +379,7 @@
     RealSpaceMatrix FullMatrix = World::getInstance().getDomain().getM();
     RealSpaceMatrix FullInverseMatrix = World::getInstance().getDomain().getMinv();
-    DoLog(2) && (Log()<< Verbose(2) << "Current molecule is " << *MolWalker << "." << endl);
+    LOG(2, "Current molecule is " << *MolWalker << ".");
     for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
-      DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl);
+      LOG(3, "Current atom is " << **iter << ".");
       periodicX = FullInverseMatrix * ((*iter)->getPosition()); // x now in [0,1)^3
       // go through every range in xyz and get distance
@@ -391,7 +389,7 @@
             checkX = FullMatrix * (Vector(n[0], n[1], n[2]) + periodicX);
             for (std::vector<molecule *>::const_iterator MolOtherWalker = MolWalker; MolOtherWalker != molecules.end(); MolOtherWalker++){
-                DoLog(2) && (Log() << Verbose(2) << "Current other molecule is " << *MolOtherWalker << "." << endl);
+                LOG(2, "Current other molecule is " << *MolOtherWalker << ".");
                 for (molecule::const_iterator runner = (*MolOtherWalker)->begin(); runner != (*MolOtherWalker)->end(); ++runner) {
-                  DoLog(3) && (Log() << Verbose(3) << "Current otheratom is " << **runner << "." << endl);
+                  LOG(3, "Current otheratom is " << **runner << ".");
                   if ((*iter)->getId() < (*runner)->getId()){
                     for (set <pair<const element *,const element *> >::iterator PairRunner = PairsOfElements.begin(); PairRunner != PairsOfElements.end(); ++PairRunner)
@@ -404,5 +402,5 @@
                               checkOtherX = FullMatrix * (Vector(Othern[0], Othern[1], Othern[2]) + periodicOtherX);
                               distance = checkX.distance(checkOtherX);
-                              //Log() << Verbose(1) <<"Inserting " << *(*iter) << " and " << *(*runner) << endl;
+                              //LOG(1, "Inserting " << *(*iter) << " and " << *(*runner));
                               outmap->insert ( pair<double, pair <atom *, atom*> > (distance, pair<atom *, atom*> ((*iter), (*runner)) ) );
                             }
@@ -432,5 +430,5 @@
 
   if (molecules.empty()) {
-    DoLog(1) && (Log() << Verbose(1) <<"No molecule given." << endl);
+    LOG(1, "No molecule given.");
     return outmap;
   }
@@ -439,11 +437,11 @@
   outmap = new CorrelationToPointMap;
   for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) {
-    DoLog(2) && (Log() << Verbose(2) << "Current molecule is " << *MolWalker << "." << endl);
+    LOG(2, "Current molecule is " << *MolWalker << ".");
     for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
-      DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl);
+      LOG(3, "Current atom is " << **iter << ".");
       for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
         if ((*type == NULL) || ((*iter)->getType() == *type)) {
           distance = domain.periodicDistance((*iter)->getPosition(),*point);
-          DoLog(4) && (Log() << Verbose(4) << "Current distance is " << distance << "." << endl);
+          LOG(4, "Current distance is " << distance << ".");
           outmap->insert ( pair<double, pair<atom *, const Vector*> >(distance, pair<atom *, const Vector*> ((*iter), point) ) );
         }
@@ -471,5 +469,5 @@
 
   if (molecules.empty()) {
-    DoLog(1) && (Log() << Verbose(1) <<"No molecule given." << endl);
+    LOG(1, "No molecule given.");
     return outmap;
   }
@@ -480,7 +478,7 @@
     RealSpaceMatrix FullMatrix = World::getInstance().getDomain().getM();
     RealSpaceMatrix FullInverseMatrix = World::getInstance().getDomain().getMinv();
-    DoLog(2) && (Log() << Verbose(2) << "Current molecule is " << *MolWalker << "." << endl);
+    LOG(2, "Current molecule is " << *MolWalker << ".");
     for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
-      DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl);
+      LOG(3, "Current atom is " << **iter << ".");
       for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
         if ((*type == NULL) || ((*iter)->getType() == *type)) {
@@ -492,5 +490,5 @@
                 checkX = FullMatrix * (Vector(n[0], n[1], n[2]) + periodicX);
                 distance = checkX.distance(*point);
-                DoLog(4) && (Log() << Verbose(4) << "Current distance is " << distance << "." << endl);
+                LOG(4, "Current distance is " << distance << ".");
                 outmap->insert ( pair<double, pair<atom *, const Vector*> >(distance, pair<atom *, const Vector*> (*iter, point) ) );
               }
@@ -518,5 +516,5 @@
 
   if ((Surface == NULL) || (LC == NULL) || (molecules.empty())) {
-    DoeLog(1) && (eLog()<< Verbose(1) <<"No Tesselation, no LinkedCell or no molecule given." << endl);
+    ELOG(1, "No Tesselation, no LinkedCell or no molecule given.");
     return outmap;
   }
@@ -525,9 +523,9 @@
   outmap = new CorrelationToSurfaceMap;
   for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) {
-    DoLog(2) && (Log() << Verbose(2) << "Current molecule is " << (*MolWalker)->name << "." << endl);
+    LOG(2, "Current molecule is " << (*MolWalker)->name << ".");
     if ((*MolWalker)->empty())
-      DoLog(2) && (2) && (Log() << Verbose(2) << "\t is empty." << endl);
+      LOG(2, "\t is empty.");
     for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
-      DoLog(3) && (Log() << Verbose(3) << "\tCurrent atom is " << *(*iter) << "." << endl);
+      LOG(3, "\tCurrent atom is " << *(*iter) << ".");
       for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
         if ((*type == NULL) || ((*iter)->getType() == *type)) {
@@ -567,5 +565,5 @@
 
   if ((Surface == NULL) || (LC == NULL) || (molecules.empty())) {
-    DoLog(1) && (Log() << Verbose(1) <<"No Tesselation, no LinkedCell or no molecule given." << endl);
+    LOG(1, "No Tesselation, no LinkedCell or no molecule given.");
     return outmap;
   }
@@ -578,7 +576,7 @@
     RealSpaceMatrix FullMatrix = World::getInstance().getDomain().getM();
     RealSpaceMatrix FullInverseMatrix = World::getInstance().getDomain().getMinv();
-    DoLog(2) && (Log() << Verbose(2) << "Current molecule is " << *MolWalker << "." << endl);
+    LOG(2, "Current molecule is " << *MolWalker << ".");
     for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
-      DoLog(3) && (Log() << Verbose(3) << "Current atom is " << **iter << "." << endl);
+      LOG(3, "Current atom is " << **iter << ".");
       for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
         if ((*type == NULL) || ((*iter)->getType() == *type)) {
@@ -600,5 +598,5 @@
           // insert
           outmap->insert ( pair<double, pair<atom *, BoundaryTriangleSet*> >(ShortestDistance, pair<atom *, BoundaryTriangleSet*> (*iter, ShortestTriangle) ) );
-          //Log() << Verbose(1) << "INFO: Inserting " << Walker << " with distance " << ShortestDistance << " to " << *ShortestTriangle << "." << endl;
+          //LOG(1, "INFO: Inserting " << Walker << " with distance " << ShortestDistance << " to " << *ShortestTriangle << ".");
         }
     }
Index: src/Analysis/analysis_correlation.hpp
===================================================================
--- src/Analysis/analysis_correlation.hpp	(revision 7ba268a58e24918f9b4f28cee1e5b542596e56ca)
+++ src/Analysis/analysis_correlation.hpp	(revision 41a467397fe65de7b369f9989fc26e6e18070f2e)
@@ -98,5 +98,5 @@
 
   if (map == NULL) {
-    DoeLog(0) && (eLog()<< Verbose(0) << "Nothing to min/max, map is NULL!" << endl);
+    ELOG(0, "Nothing to min/max, map is NULL!");
     performCriticalExit();
     return;
@@ -136,5 +136,5 @@
 
   if (map == NULL) {
-    DoeLog(0) && (eLog()<< Verbose(0) << "Nothing to bin, is NULL!" << endl);
+    ELOG(0, "Nothing to bin, is NULL!");
     performCriticalExit();
     return outmap;
