~agateau/lightdm/lightdm-defaults

« back to all changes in this revision

Viewing changes to src/lightdm.c

  • Committer: Robert Ancell
  • Date: 2011-12-21 04:26:20 UTC
  • Revision ID: robert.ancell@canonical.com-20111221042620-lobhsel2cphqxho7
Fix --debug working with new glib

Show diffs side-by-side

added added

removed removed

Lines of Context:
62
62
#define LIGHTDM_BUS_NAME "org.freedesktop.DisplayManager"
63
63
 
64
64
static void
65
 
log_cb (const gchar *log_domain, GLogLevelFlags log_level,
66
 
        const gchar *message, gpointer data)
 
65
log_cb (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer data)
67
66
{
 
67
    const gchar *prefix;
 
68
    gchar *text;
 
69
 
 
70
    switch (log_level & G_LOG_LEVEL_MASK)
 
71
    {
 
72
    case G_LOG_LEVEL_ERROR:
 
73
        prefix = "ERROR:";
 
74
        break;
 
75
    case G_LOG_LEVEL_CRITICAL:
 
76
        prefix = "CRITICAL:";
 
77
        break;
 
78
    case G_LOG_LEVEL_WARNING:
 
79
        prefix = "WARNING:";
 
80
        break;
 
81
    case G_LOG_LEVEL_MESSAGE:
 
82
        prefix = "MESSAGE:";
 
83
        break;
 
84
    case G_LOG_LEVEL_INFO:
 
85
        prefix = "INFO:";
 
86
        break;
 
87
    case G_LOG_LEVEL_DEBUG:
 
88
        prefix = "DEBUG:";
 
89
        break;
 
90
    default:
 
91
        prefix = "LOG:";
 
92
        break;
 
93
    }
 
94
 
 
95
    text = g_strdup_printf ("[%+.2fs] %s %s\n", g_timer_elapsed (log_timer, NULL), prefix, message);
 
96
 
68
97
    /* Log everything to a file */
69
98
    if (log_fd >= 0)
70
99
    {
71
 
        const gchar *prefix;
72
 
        gchar *text;
73
100
        ssize_t n_written;
74
 
 
75
 
        switch (log_level & G_LOG_LEVEL_MASK)
76
 
        {
77
 
        case G_LOG_LEVEL_ERROR:
78
 
            prefix = "ERROR:";
79
 
            break;
80
 
        case G_LOG_LEVEL_CRITICAL:
81
 
            prefix = "CRITICAL:";
82
 
            break;
83
 
        case G_LOG_LEVEL_WARNING:
84
 
            prefix = "WARNING:";
85
 
            break;
86
 
        case G_LOG_LEVEL_MESSAGE:
87
 
            prefix = "MESSAGE:";
88
 
            break;
89
 
        case G_LOG_LEVEL_INFO:
90
 
            prefix = "INFO:";
91
 
            break;
92
 
        case G_LOG_LEVEL_DEBUG:
93
 
            prefix = "DEBUG:";
94
 
            break;
95
 
        default:
96
 
            prefix = "LOG:";
97
 
            break;
98
 
        }
99
 
 
100
 
        text = g_strdup_printf ("[%+.2fs] %s %s\n", g_timer_elapsed (log_timer, NULL), prefix, message);
101
101
        n_written = write (log_fd, text, strlen (text));
102
102
        if (n_written < 0)
103
103
            ; /* Check result so compiler doesn't warn about it */
104
 
        g_free (text);
105
104
    }
106
105
 
107
 
    /* Only show debug if requested */
108
 
    if (log_level & G_LOG_LEVEL_DEBUG) {
109
 
        if (debug)
110
 
            g_log_default_handler (log_domain, log_level, message, data);
111
 
    }
 
106
    /* Log to stderr if requested */
 
107
    if (debug)
 
108
        g_printerr ("%s", text);
112
109
    else
113
 
        g_log_default_handler (log_domain, log_level, message, data);    
 
110
        g_log_default_handler (log_domain, log_level, message, data);
 
111
 
 
112
    g_free (text);
114
113
}
115
114
 
116
115
static void