在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何修改arm Linux中Printk的等級(jí)

            如何修改arm Linux中Printk的等級(jí)

            作者: 時(shí)間:2016-11-20 來(lái)源:網(wǎng)絡(luò) 收藏
            首先,printk有8個(gè)loglevel,定義在中,其中數(shù)值范圍從0到7,數(shù)值越小,優(yōu)先級(jí)越高。

            #defineKERN_EMERG"<0>"系統(tǒng)崩潰

            本文引用地址:http://www.biyoush.com/article/201611/318985.htm

            #defineKERN_ALERT"<1>"必須緊急處理

            #defineKERN_CRIT"<2>"臨界條件,嚴(yán)重的硬軟件錯(cuò)誤

            #defineKERN_ERR"<3>"報(bào)告錯(cuò)誤

            #defineKERN_WARNING"<4>"警告

            #defineKERN_NOTICE"<5>"普通但還是須注意

            #defineKERN_INFO"<6>"信息

            #defineKERN_DEBUG"<7>"調(diào)試信息

            從這里也可以看出他們的優(yōu)先級(jí)是數(shù)值越小,其緊急和嚴(yán)重程度就越高。

            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])

            未指定優(yōu)先級(jí)的默認(rèn)級(jí)別定義在/kernel/printk.c中:

            #define DEFAULT_MESSAGE_LOGLEVEL 4

            #define MINIMUM_CONSOLE_LOGLEVEL 1

            #define DEFAULT_CONSOLE_LOGLEVEL 7

            int console_printk[4] = {

            DEFAULT_CONSOLE_LOGLEVEL,終端級(jí)別

            DEFAULT_MESSAGE_LOGLEVEL,默認(rèn)級(jí)別

            MINIMUM_CONSOLE_LOGLEVEL,讓用戶使用的最小級(jí)別

            DEFAULT_CONSOLE_LOGLEVEL,默認(rèn)終端級(jí)別

            };

            當(dāng)優(yōu)先級(jí)的值小于console_loglevel這個(gè)整數(shù)變量的值,信息才能顯示出來(lái)。而console_loglevel的初始值DEFAULT_CONSOLE_LOGLEVEL也定義在/kernel/printk.c中:

            cat /proc/sys/kernel/printk

            4 4 1 7

            這個(gè)默認(rèn)值是在sysctl.conf中寫的,在系統(tǒng)啟動(dòng)時(shí)就把這個(gè)值寫到/proc/sys/kernel/printk這個(gè)文件了。也可以使用下面的命令修改其值

            echo 0 > /proc/sys/kernel/printk

            cat /proc/sys/kernel/printk

            0 4 1 7

            它們根據(jù)日志記錄消息的重要性,定義將其發(fā)送到何處。關(guān)于不同日志級(jí)別的更多信息,請(qǐng)閱讀 syslog(2) 聯(lián)機(jī)幫助頁(yè)。該文件的四個(gè)值為:
            控制臺(tái)日志級(jí)別:優(yōu)先級(jí)高于該值的消息將被打印至控制臺(tái)
            缺省的消息日志級(jí)別:將用該優(yōu)先級(jí)來(lái)打印沒有優(yōu)先級(jí)的消息
            最低的控制臺(tái)日志級(jí)別:控制臺(tái)日志級(jí)別可被設(shè)置的最小值(最高優(yōu)先級(jí))
            缺省的控制臺(tái)日志級(jí)別:控制臺(tái)日志級(jí)別的缺省值

            以下是我的測(cè)試程序和作的相關(guān)的測(cè)試。

            #include

            #include

            #include

            static int __init pinit(void)

            {

            printk("<0>goodluck0!n");

            printk("<1>goodluck1!n");

            printk("<2>goodluck2!n");

            printk("<3>goodluck3!n");

            printk("<4>goodluck4!n");

            printk("<5>goodluck5!n");

            printk("<6>goodluck6!n");

            printk("<7>goodluck7!n");

            printk("<8>goodluck8!n");//雖然沒有這級(jí)別,我還是試了一把。目的是看默認(rèn)級(jí)別。

            return 0;

            }

            static void __exit pexit(void)

            {

            printk("<0>goodbey!0n");

            printk("<1>goodbey!1n");

            printk("<2>goodbey!2n");

            printk("<3>goodbey!3n");

            printk("<4>goodbey!4n");

            printk("<5>goodbey!5n");

            printk("<6>goodbey!6n");

            printk("<7>goodbey!7n");

            }

            module_init(pinit);

            module_exit(pexit);

            在這里我只觀察了四個(gè)比較重要的日志文件:messages,kern.log,syslog,debug。這四個(gè)文件都在/var/log/這個(gè)目錄下。它的日志文件經(jīng)觀察未出現(xiàn)這些printk信息。

            cat /proc/sys/kernel/printk

            4 4 1 7

            在上面這種情況下日志文件的變化情況是:

            l kern.log: 紀(jì)錄了級(jí)別是0—7包括<8>的所有信息,在這些紀(jì)錄當(dāng)中,其中<8>的紀(jì)錄是這樣的。<8>goodluck8!

            l Messages: 只是記錄了456和<8>。

            l Syslog: 記錄和kern.log一樣。

            l Debug: 之記錄級(jí)別是7的信息。

            cat /proc/sys/kernel/printk

            0 4 1 7

            在上面這種情況下日志文件的變化情況是:

            l kern.log: 紀(jì)錄了級(jí)別是0—7包括<8>的所有信息,在這些紀(jì)錄當(dāng)中,其中<8>的紀(jì)錄是這樣的。<8>goodluck8!

            l Messages: 只是記錄了456和<8>。

            l Syslog: 記錄和kern.log一樣。

            l Debug: 之記錄級(jí)別是7的信息。

            cat /proc/sys/kernel/printk

            7 4 1 7

            l kern.log: 紀(jì)錄了級(jí)別是0—7包括<8>的所有信息,在這些紀(jì)錄當(dāng)中,其中<8>的紀(jì)錄是這樣的。<8>goodluck8!

            l Messages: 只是記錄了456和<8>。

            l Syslog: 記錄和kern.log一樣。

            l Debug: 之記錄級(jí)別是7的信息。

            分析結(jié)論:在操作系統(tǒng)是圖形化的界面下測(cè)試證明-日志記錄和終端級(jí)別是沒有關(guān)系的,但是在文本界面下的結(jié)果和這里是不太一樣的,根據(jù)不同的設(shè)置有些信息會(huì)輸出到終端。這里就不多說(shuō)了。

            其次有關(guān)于系統(tǒng)的日志記錄工具有兩種主要的:syslog和klog。

            Linux系統(tǒng)中/etc/init.d/sysklogd會(huì)啟動(dòng)2個(gè)守護(hù)進(jìn)程:Klogd, Syslogd。

            syslog是 Unix 系統(tǒng)的一個(gè)常見組件,用于執(zhí)行系統(tǒng)日志記錄活動(dòng)。syslogd 是它的守護(hù)進(jìn)程。syslogd 從一組日志源(如 /dev/log 和 /dev/klog )中讀取數(shù)據(jù),并按照 /etc/syslog.conf 中的說(shuō)明處理這些日志消息。通過(guò)調(diào)用syslog(),可將應(yīng)用程序日志消息記錄到 syslog 中。syslog 消息采用一種包含可選優(yōu)先級(jí)和設(shè)備的標(biāo)準(zhǔn)格式。優(yōu)先級(jí)指示消息的緊急程度。設(shè)備指示發(fā)布消息的子系統(tǒng)。/usr/include/syslog.h中定義了它的優(yōu)先級(jí)和設(shè)備資源。

            klog是一個(gè)從Unix內(nèi)核接受消息的設(shè)備klogd 守護(hù)進(jìn)程獲得并記錄 Linux 內(nèi)核信息。通常,syslogd 會(huì)記錄 klogd 傳來(lái)的所有內(nèi)核信息。

            syslogd的配置文件是/etc/syslog.conf。

            下面是我機(jī)子上這個(gè)文件的部分內(nèi)容。主要是對(duì)debug和messages文件要記錄內(nèi)容的設(shè)置。

            *.=debug;

            auth,authpriv.none;

            news.none;mail.none -/var/log/debug

            *.=info;*.=notice;*.=warn;

            auth,authpriv.none;

            cron,daemon.none;

            mail,news.none -/var/log/messages




            關(guān)鍵詞: armLinuxPrintk等

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉