Index: tracker-utils.h =================================================================== RCS file: /cvs/gnome/tracker/src/trackerd/tracker-utils.h,v retrieving revision 1.14 diff -u -r1.14 tracker-utils.h --- tracker-utils.h 13 Sep 2006 17:11:54 -0000 1.14 +++ tracker-utils.h 20 Sep 2006 16:57:11 -0000 @@ -42,6 +42,9 @@ #define TRACKER_VERSION_INT 500 +/* just for now, make tracker_log actually call g_message */ +#define tracker_log g_message + typedef struct { GSList *watch_directory_roots_list; GSList *no_watch_directory_list; @@ -217,8 +220,6 @@ char * tracker_get_vfs_name (const char *uri); char * tracker_get_mime_type (const char *uri); - -void tracker_log (const char *fmt, ...); GSList * tracker_get_files (const char *dir, gboolean dir_only); Index: trackerd.c =================================================================== RCS file: /cvs/gnome/tracker/src/trackerd/trackerd.c,v retrieving revision 1.35 diff -u -r1.35 trackerd.c --- trackerd.c 16 Sep 2006 16:54:02 -0000 1.35 +++ trackerd.c 20 Sep 2006 16:57:15 -0000 @@ -1764,6 +1764,54 @@ +void +log_handler (const gchar *domain, GLogLevelFlags levels, const char* message, gpointer data) +{ + FILE *fd; + time_t now; + char buffer1[64], buffer2[20]; + char *output; + char *msg; + va_list args; + struct tm *loctime; + GTimeVal start; + + if (message) { + g_print ("%s\n", message); + } + + /* ensure file logging is thread safe */ + g_mutex_lock (tracker->log_access_mutex); + + fd = g_fopen (tracker->log_file, "a"); + + if (!fd) { + g_mutex_unlock (tracker->log_access_mutex); + g_warning ("could not open %s", tracker->log_file); + return; + } + + g_get_current_time (&start); + + now = time ((time_t *) NULL); + + loctime = localtime (&now); + + strftime (buffer1, 64, "%d %b %Y, %H:%M:%S:", loctime); + + g_sprintf (buffer2, "%ld", start.tv_usec / 1000); + + output = g_strconcat (buffer1, buffer2, " - ", message, NULL); + + g_fprintf (fd, "%s\n", output); + g_free (output); + + fclose (fd); + + g_mutex_unlock (tracker->log_access_mutex); +} + + int main (int argc, char **argv) { @@ -1791,6 +1839,8 @@ if (!g_thread_supported ()) { g_thread_init (NULL); } + + g_log_set_handler (NULL, G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION, (GLogFunc) log_handler, NULL); dbus_g_thread_init (); Index: tracker-utils.c =================================================================== RCS file: /cvs/gnome/tracker/src/trackerd/tracker-utils.c,v retrieving revision 1.26 diff -u -r1.26 tracker-utils.c --- tracker-utils.c 16 Sep 2006 16:54:02 -0000 1.26 +++ tracker-utils.c 20 Sep 2006 16:57:15 -0000 @@ -1223,59 +1223,6 @@ } -void -tracker_log (const char* fmt, ...) -{ - FILE *fd; - time_t now; - char buffer1[64], buffer2[20]; - char *output; - char *msg; - va_list args; - struct tm *loctime; - GTimeVal start; - - va_start (args, fmt); - msg = g_strdup_vprintf (fmt, args); - va_end (args); - - if (msg) { - g_print ("%s\n", msg); - } - - /* ensure file logging is thread safe */ - g_mutex_lock (tracker->log_access_mutex); - - fd = g_fopen (tracker->log_file, "a"); - - if (!fd) { - g_mutex_unlock (tracker->log_access_mutex); - g_warning ("could not open %s", tracker->log_file); - g_free (msg); - return; - } - - g_get_current_time (&start); - - now = time ((time_t *) NULL); - - loctime = localtime (&now); - - strftime (buffer1, 64, "%d %b %Y, %H:%M:%S:", loctime); - - g_sprintf (buffer2, "%ld", start.tv_usec / 1000); - - output = g_strconcat (buffer1, buffer2, " - ", msg, NULL); - g_free (msg); - - g_fprintf (fd, "%s\n", output); - g_free (output); - - fclose (fd); - - g_mutex_unlock (tracker->log_access_mutex); -} - static int has_prefix (const char *str1, const char *str2)