Bug in glib in g_logv



If I want to register my own log handler for a specific level and domain
I thought I should write somethine like this:

g_log_set_handler(MY_LOG_DOMAIN, G_LOG_LEVEL_ERROR,
my_error_log_handler, NULL);  

But g_log_domain_get_handler is not able to find my log handler in
g_logv if I don't write the previous line as

g_log_set_handler(MY_LOG_DOMAIN, G_LOG_LEVEL_ERROR | G_LOG_FLAG_FATAL,
my_error_log_handler, NULL);  

If this is the desired behaviour, maybe it should be mentioned in the
reference manual.

If you change line 383 in gmessages.c from
  log_func = g_log_domain_get_handler (domain, test_level, &data);
to:
  log_func = g_log_domain_get_handler (domain, log_level, &data);

, I think it would be possible to register a log handler to a level even
if it is considered fatal. 

I'm not on this mailing list so please CC me your answers!

regards,
	jonas




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]