glib提供了一個message logging utility可以讓我們可以在程式執行時輸出一些訊息,顯示程式目前的狀況或是遇到的錯誤。跟printf比起來,glib提供的message logging utility更加多樣化,可以根據不同的執行狀況設定不同等級的訊息。以下列出一個簡單的範例:
#include <glib.h>
int main()
{
g_debug("%s", "this is a debug message");
g_log("mytest", G_LOG_LEVEL_CRITICAL, "%s", "This is a critical message");
g_log("mytest", G_LOG_LEVEL_INFO, "%s", "This is an info message");
g_log("mytest", G_LOG_LEVEL_DEBUG, "%s", "This is another debug message");
g_log("mytest", G_LOG_LEVEL_ERROR, "%s", "This is an error message");
return 0;
}
編譯時記得要加上glib的header file所在位置(用-I)以及library的所在位置(用-L),在我的系統上是以下列方式編譯的:
gcc -g -o test_glog test_glog.c -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -lglib-2.0
執行結果如下所示:
** (process:24480): DEBUG: this is a debug message
(process:24480): mytest-CRITICAL **: This is a critical message
mytest-INFO: This is an info message
(process:24480): mytest-DEBUG: This is another debug message
mytest-ERROR **: This is an error message
aborting...
已經終止 (core dumped)
沒有留言:
張貼留言