Index: src/Thermostats/Berendsen.cpp
===================================================================
--- src/Thermostats/Berendsen.cpp	(revision 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88)
+++ src/Thermostats/Berendsen.cpp	(revision 47d0416c5a62d6d7eb14391e14c7f3f576fb1673)
@@ -60,5 +60,5 @@
 template <class ForwardIterator>
 double Berendsen::doScaleAtoms(unsigned int step,double ActualTemp,ForwardIterator begin, ForwardIterator end){
-  DoLog(2) && (Log() << Verbose(2) <<  "Applying Berendsen-VanGunsteren thermostat..." << endl);
+  LOG(2,  "Applying Berendsen-VanGunsteren thermostat...");
   double ekin=0;
   double ScaleTempFactor = getContainer().TargetTemp/ActualTemp;
Index: src/Thermostats/GaussianThermostat.cpp
===================================================================
--- src/Thermostats/GaussianThermostat.cpp	(revision 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88)
+++ src/Thermostats/GaussianThermostat.cpp	(revision 47d0416c5a62d6d7eb14391e14c7f3f576fb1673)
@@ -65,8 +65,8 @@
 template <class ForwardIterator>
 double GaussianThermostat::doScaleAtoms(unsigned int step,double ActualTemp,ForwardIterator begin, ForwardIterator end){
-  DoLog(2) && (Log() << Verbose(2) <<  "Applying Gaussian thermostat..." << endl);
+  LOG(2,  "Applying Gaussian thermostat...");
   init(step,begin,end);
   double G_over_E = G/E;
-  DoLog(1) && (Log() << Verbose(1) << "Gaussian Least Constraint constant is " << G_over_E << "." << endl);
+  LOG(1, "Gaussian Least Constraint constant is " << G_over_E << ".");
   double ekin =0;
   for(ForwardIterator iter=begin;iter!=end;++iter){
Index: src/Thermostats/Langevin.cpp
===================================================================
--- src/Thermostats/Langevin.cpp	(revision 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88)
+++ src/Thermostats/Langevin.cpp	(revision 47d0416c5a62d6d7eb14391e14c7f3f576fb1673)
@@ -60,5 +60,5 @@
   ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, double_type, &TempFrequency, 1, critical); // read gamma
   if (ParseForParameter(verbose,fb,"Thermostat", 0, 3, 1, double_type, &alpha, 1, optional)) {
-    DoLog(2) && (Log() << Verbose(2) << "Extended Stochastic Thermostat detected with interpolation coefficient " << alpha << "." << endl);
+    LOG(2, "Extended Stochastic Thermostat detected with interpolation coefficient " << alpha << ".");
   } else {
     alpha = 1.;
@@ -81,5 +81,5 @@
 template <class ForwardIterator>
 double Langevin::doScaleAtoms(unsigned int step,double ActualTemp,ForwardIterator begin, ForwardIterator end){
-  DoLog(2) && (Log() << Verbose(2) <<  "Applying Langevin thermostat..." << endl);
+  LOG(2,  "Applying Langevin thermostat...");
   RandomNumberGenerator &random = RandomNumberGeneratorFactory::getInstance().makeRandomNumberGenerator("mt19937", "normal_distribution");
   const double rng_min = random.min();
@@ -94,10 +94,9 @@
       // throw a dice to determine whether it gets hit by a heat bath particle
       if (((((random()/(rng_max-rng_min)))*TempFrequency) < 1.)) {
-        DoLog(3) && (Log() << Verbose(3) << "Particle " << (**iter) << " was hit (sigma " << sigma << "): " << U.Norm() << " -> ");
         // pick three random numbers from a Boltzmann distribution around the desired temperature T for each momenta axis
-        for (int d=0; d<NDIM; d++) {
+        const double oldNorm = U.Norm();
+        for (int d=0; d<NDIM; d++)
           U[d] = rng();
-        }
-        DoLog(2) && (Log() << Verbose(2) << U.Norm() << endl);
+        LOG(3, "Particle " << (**iter) << " was hit (sigma " << sigma << "): " << oldNorm << " -> " << U.Norm());
       }
       ekin += 0.5*(*iter)->getType()->getMass() * U.NormSquared();
Index: src/Thermostats/NoseHoover.cpp
===================================================================
--- src/Thermostats/NoseHoover.cpp	(revision 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88)
+++ src/Thermostats/NoseHoover.cpp	(revision 47d0416c5a62d6d7eb14391e14c7f3f576fb1673)
@@ -62,9 +62,9 @@
 template <class ForwardIterator>
 double NoseHoover::doScaleAtoms(unsigned int step,double ActualTemp,ForwardIterator begin, ForwardIterator end){
-  DoLog(2) && (Log() << Verbose(2) <<  "Applying Nose-Hoover thermostat..." << endl);
+  LOG(2,  "Applying Nose-Hoover thermostat...");
   init(step,begin,end);
   delta_alpha = (delta_alpha - (3.*count+1.) * getContainer().TargetTemp)/(HooverMass*Units2Electronmass);
   alpha += delta_alpha*World::getInstance().getConfig()->Deltat;
-  DoLog(3) && (Log() << Verbose(3) << "alpha = " << delta_alpha << " * " << World::getInstance().getConfig()->Deltat << " = " << alpha << "." << endl);
+  LOG(3, "alpha = " << delta_alpha << " * " << World::getInstance().getConfig()->Deltat << " = " << alpha << ".");
   double ekin =0;
   for(ForwardIterator iter=begin;iter!=end;++iter){
Index: src/Thermostats/Woodcock.cpp
===================================================================
--- src/Thermostats/Woodcock.cpp	(revision 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88)
+++ src/Thermostats/Woodcock.cpp	(revision 47d0416c5a62d6d7eb14391e14c7f3f576fb1673)
@@ -65,5 +65,5 @@
   if ((ScaleTempStep > 0) && ((step-1) % ScaleTempStep == 0)) {
     double ScaleTempFactor = sqrt(getContainer().TargetTemp/ActualTemp);
-    DoLog(2) && (Log() << Verbose(2) <<  "Applying Woodcock thermostat..." << endl);
+    LOG(2,  "Applying Woodcock thermostat...");
     double ekin;
     for (ForwardIterator iter = begin; iter!=end;++iter){
