Logger& Logger::operator<<(Logger & (*m)(Logger &)){
(*m)(*this);
return *this;
}

Logger& Logger::operator<<(double lvalue){
...
return *this;
}