until they're written out. "babble" means the message is just idle
babbling; it can be ignored for shorter logs. */
-#define LOG_BABBLE 1
-#define LOG_TIMESTAMP 2
+#include "LogSingleton.h"
+#undef log
-void log (int flags, char *fmt, ...);
-
-/* Here, "babble" means to write out the babble also. If "append" is
- nonzero, the log is appended to any existing file. */
-
-void log_save (int babble, char *filename, int append);
-
-/* This is the only legal way to exit. It writes out all the logs and things */
-
-void exit_setup (int exit_code);
+void log (enum log_level level, const char *fmt, ...)
+ __attribute__ ((format (printf, 2, 3)));
+void log (enum log_level level, String const &);