--- smsdaemon/Logger.cpp 2008/12/18 06:53:29 196 +++ smsdaemon/Logger.cpp 2010/04/29 18:18:18 695 @@ -18,6 +18,8 @@ { string _logFile; + std::vector logBuffer; + enum LogDest { LogFile, @@ -30,7 +32,7 @@ void initLog() { Common* cmn = Common::instance(); - string logmethod = cmn->GetConfigfile()->GetValue("smsdaemon","log"); + string logmethod = cmn->GetConfigfile()->GetValue("smsdaemon","log",""); if (logmethod == "syslog") { logger = LogSyslog; @@ -66,14 +68,17 @@ localtime_r(&t, &now); ostringstream out; + + out << Months[ now.tm_mon ] << " " << setw(2) << setfill('0') << now.tm_mday; + out << " " << setw(2) << setfill('0') << now.tm_hour; + out << ":" << setw(2) << setfill('0') << now.tm_min; + out << ":" << setw(2) << setfill('0') << now.tm_sec; + out << " " << msg << endl; + + logBuffer.push_back( out.str() ); + if (logger == LogFile || logger == LogStdout) { - out << Months[ now.tm_mon ] << " " << setw(2) << setfill('0') << now.tm_mday; - out << " " << setw(2) << setfill('0') << now.tm_hour; - out << ":" << setw(2) << setfill('0') << now.tm_min; - out << ":" << setw(2) << setfill('0') << now.tm_sec; - out << " " << msg << endl; - if (cmn->isDaemon && _logFile != "" && cmn->daemonized) { seteuid(0); @@ -97,4 +102,14 @@ syslog(LOG_INFO, "%s", msg.c_str()); } } + + std::string getLog() + { + std::ostringstream oss; + for (unsigned i=0; i