* @brief A very simple logging class.
*/
-#include <time.h>
-#include <cstdio>
#include "log.h"
#include "cross.h"
#include "config.h"
#include "safe_stringstream.h"
+#include <time.h>
+#include <cstdio>
#include "i18n.h"
int const Log::TYPE_GENERAL = 0x1;
int const Log::TYPE_WARNING = 0x2;
int const Log::TYPE_ERROR = 0x4;
-int const Log::TYPE_TIMING = 0x8;
+int const Log::TYPE_DEBUG = 0x8;
+int const Log::TYPE_TIMING = 0x10;
Log::Log ()
: _types (0)
if (type & TYPE_WARNING) {
s << "WARNING: ";
}
-
+
s << message;
do_log (s.str ());
}
SafeStringStream s;
s << tv.tv_sec << N_(":") << tv.tv_usec << N_(" ") << m;
do_log (s.str ());
-}
+}
+
+void
+Log::dcp_log (dcp::NoteType type, string m)
+{
+ switch (type) {
+ case dcp::DCP_PROGRESS:
+ log (m, TYPE_GENERAL);
+ break;
+ case dcp::DCP_ERROR:
+ log (m, TYPE_ERROR);
+ break;
+ case dcp::DCP_NOTE:
+ log (m, TYPE_WARNING);
+ break;
+ }
+}
void
Log::set_types (int t)
head_amount = size;
tail_amount = 0;
}
-
+
FILE* f = fopen_boost (_file, "r");
if (!f) {
return "";
string out;
char* buffer = new char[max(head_amount, tail_amount) + 1];
-
+
int N = fread (buffer, 1, head_amount, f);
buffer[N] = '\0';
out += string (buffer);
if (tail_amount > 0) {
- out += "\n.\n.\n.\n";
+ out += "\n .\n .\n .\n";
fseek (f, - tail_amount - 1, SEEK_END);
-
+
N = fread (buffer, 1, tail_amount, f);
buffer[N] = '\0';
out += string (buffer) + "\n";