# include <glib.h>
static void my_log_handler(const gchar *log_domain,GLogLevelFlags log_level,
const gchar *message,
gpointer user_data)
{
//在处理函数中我们可以把日志信息输出到文件或者网络,这里只打印到stdout看看
//另外对于 g_print我们也可以使用//g_set_print_handler () 重定向到文件
g_print("[%s]Debug : %s \n",user_data,message);
}
int main(int argc ,char **argv)
{
static gboolean debug = TRUE;
if(debug)
{
g_log_set_handler(NULL,G_LOG_LEVEL_DEBUG|G_LOG_FLAG_FATAL|G_LOG_FLAG_RECURSION,
my_log_handler,"APP_TAG");
}
g_debug("This is a debug msg");
g_message("This is a message msg.");
g_error("This is a error msg");
g_message("This msg will never show ");
return 0;
}
//其他
/*
[1]
如果我们不设置 handler ,会有一个默认的 handler
g_log_default_handler ();
默认的log处理函数,ERROR和CRITICAL 会被输出到stderr
MESSAGE和WARRING 会被输出到stdout
[2]
ERROR 和 FATAL会直接导致程序abort,使用的时候注意
*/