#include <time.h>
#include "log.h"
+#include "i18n.h"
+
using namespace std;
Log::Log ()
- : _level (VERBOSE)
+ : _level (STANDARD)
{
}
if (l > _level) {
return;
}
-
+
time_t t;
time (&t);
string a = ctime (&t);
stringstream s;
- s << a.substr (0, a.length() - 1) << ": " << m;
+ s << a.substr (0, a.length() - 1) << N_(": ") << m;
do_log (s.str ());
}
+void
+Log::microsecond_log (string m, Level l)
+{
+ boost::mutex::scoped_lock lm (_mutex);
+
+ if (l > _level) {
+ return;
+ }
+
+ struct timeval tv;
+ gettimeofday (&tv, 0);
+
+ stringstream s;
+ s << tv.tv_sec << N_(":") << tv.tv_usec << N_(" ") << m;
+ do_log (s.str ());
+}
+
void
Log::set_level (Level l)
{
_level = l;
}
+void
+Log::set_level (string l)
+{
+ if (l == N_("verbose")) {
+ set_level (VERBOSE);
+ return;
+ } else if (l == N_("timing")) {
+ set_level (TIMING);
+ return;
+ }
+
+ set_level (STANDARD);
+}
/** @param file Filename to write log to */
FileLog::FileLog (string file)
FileLog::do_log (string m)
{
ofstream f (_file.c_str(), fstream::app);
- f << m << "\n";
+ f << m << N_("\n");
}