void Logger::log(const Level &level, const Record &record) { if (level >= getLevel()) { // TODO this should support writing via an appender so users can log to a // file while seeing stats on their display string out = format(record); _writeMutex.lock(); getHandler() << out << endl; getHandler().flush(); _writeMutex.unlock(); LoggerPtr logger = getParent(); if (logger != NULL && logger->getUseParent()) { logger->log(level, record); } } }