#include <time.h>
#include <cstdio>
-#include <boost/algorithm/string.hpp>
#include "log.h"
#include "cross.h"
#include "config.h"
+#include "safe_stringstream.h"
#include "i18n.h"
using namespace std;
-using boost::algorithm::is_any_of;
-using boost::algorithm::split;
int const Log::TYPE_GENERAL = 0x1;
int const Log::TYPE_WARNING = 0x2;
Log::Log ()
: _types (0)
{
- Config::instance()->Changed.connect (boost::bind (&Log::config_changed, this));
+ _config_connection = Config::instance()->Changed.connect (boost::bind (&Log::config_changed, this));
config_changed ();
}
time (&t);
string a = ctime (&t);
- stringstream s;
+ SafeStringStream s;
s << a.substr (0, a.length() - 1) << N_(": ");
if (type & TYPE_ERROR) {
struct timeval tv;
gettimeofday (&tv, 0);
- stringstream s;
+ SafeStringStream s;
s << tv.tv_sec << N_(":") << tv.tv_usec << N_(" ") << m;
do_log (s.str ());
}
_types = t;
}
-/** @param A comma-separate list of debug types to enable */
-void
-Log::set_types (string t)
-{
- boost::mutex::scoped_lock lm (_mutex);
-
- vector<string> types;
- split (types, t, is_any_of (","));
-
- _types = 0;
-
- for (vector<string>::const_iterator i = types.begin(); i != types.end(); ++i) {
- if (*i == N_("general")) {
- _types |= TYPE_GENERAL;
- } else if (*i == N_("warning")) {
- _types |= TYPE_WARNING;
- } else if (*i == N_("error")) {
- _types |= TYPE_ERROR;
- } else if (*i == N_("timing")) {
- _types |= TYPE_TIMING;
- }
- }
-}
-
/** @param file Filename to write log to */
FileLog::FileLog (boost::filesystem::path file)
: _file (file)