久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

printk的日志級別和控制臺級別

 happy123god 2012-09-05

printk根據(jù)日志級別(loglevel)對消息進(jìn)行分類,。日志級別用宏定義,,日志級別宏展開為一個(gè)字符串,,在編譯時(shí)由預(yù)處理器將它和消息文本拼接成一個(gè)字符串,,因此printk 函數(shù)中日志級別宏和格式字符串間不能有逗號。

下面是兩個(gè)printk的例子,,一個(gè)用于打印調(diào)試信息,,另一個(gè)用于打印臨界條件信息。

printk(KERN_DEBUG "Here I am: %s:%i/n", _ _FILE_ _, _ _LINE_ _); 
printk(KERN_CRIT "I'm trashed; giving up on %p/n", ptr);


   printk的日志級別定義如下(在linux26/includelinux/kernel.h中):

#defineKERN_EMERG"<0>"
#defineKERN_ALERT"<1>"
#defineKERN_CRIT"<2>"
#defineKERN_ERR"<3>"
#defineKERN_WARNING"<4>"
#defineKERN_NOTICE"<5>"
#defineKERN_INFO"<6>"
#defineKERN_DEBUG"<7>"
 
extern int console_printk[];
 
#define console_loglevel  (console_printk[0])
#define default_message_loglevel  (console_printk[1])
#define minimum_console_loglevel  (console_printk[2])
#define default_console_loglevel  (console_printk[3])

日志級別的范圍是0~7,,沒有指定日志級別的printk語句默認(rèn)采用的級別是 DEFAULT_ MESSAGE_LOGLEVEL,,其定義列出如下(在linux26/kernel/printk.c中):

 #define DEFAULT_MESSAGE_LOGLEVEL 4

內(nèi)核可把消息打印到當(dāng)前控制臺上,可以指定控制臺為字符模式的終端或打印機(jī)等,。默認(rèn)情況下,,“控制臺”就是當(dāng)前的虛擬終端。


為了更好地控制不同級別的信息顯示在控制臺上,,內(nèi)核設(shè)置了控制臺的日志級別console_loglevel,。printk日志級別的作用是打印一定級別的消息,與之類似,控制臺只顯示一定級別的消息,。


當(dāng)printk的日志級別小于console_loglevel時(shí),,消息才能顯示出來,??刂婆_相應(yīng)的日志級別定義如下:

 #define MINIMUM_CONSOLE_LOGLEVEL  1   
#define DEFAULT_CONSOLE_LOGLEVEL  7 
 
int console_printk[4] = {
DEFAULT_CONSOLE_LOGLEVEL,
 
DEFAULT_MESSAGE_LOGLEVEL,
 
MINIMUM_CONSOLE_LOGLEVEL,
DEFAULT_CONSOLE_LOGLEVEL,
};

如果系統(tǒng)運(yùn)行了klogd和syslogd,則無論console_loglevel為何值,,內(nèi)核消息都將追加到/var/log/messages中,。如果klogd沒有運(yùn)行,消息不會傳遞到用戶空間,,只能查看/proc/kmsg,。

變量console_loglevel的初始值是DEFAULT_CONSOLE_LOGLEVEL,可以通過sys_syslog系統(tǒng)調(diào)用進(jìn)行修改,。調(diào)用klogd時(shí)可以指定-c開關(guān)選項(xiàng)來修改這個(gè)變量,。如果要修改它的當(dāng)前值,必須先殺掉klogd,,再加-c選項(xiàng)重新啟動(dòng)它,。

注:#ps -e 查看所有進(jìn)程PID,然后KILL,。


通過讀寫/proc/sys/kernel/printk文件可讀取和修改控制臺的日志級別,。查看這個(gè)文件的方法如下:

#cat /proc/sys/kernel/printk
6 4 1 7

上面顯示的4個(gè)數(shù)據(jù)分別對應(yīng)控制臺日志級別、默認(rèn)的消息日志級別,、最低的控制臺日志級別和默認(rèn)的控制臺日志級別,。

可用下面的命令設(shè)置當(dāng)前日志級別:

# echo 8 > /proc/sys/kernel/printk


    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多