linux日誌級別的正確使用(printk)

2021-09-26 05:30:56 字數 967 閱讀 1711

1.核心有嚴格的日誌級別控制,他實際控制的是printk的輸出以及對應核心驅動模組還有dev_dbg,dev_printk等函式的輸出;我們可以通過proc介面來進行控制台輸出我們需要的debug資訊;核心日誌級別有以下0-7共8級,數字越低級別越高:

emerg 0   alert 1  crit 2  err 3 warning 4 notice 5 info 6 debug 7

2. /proc/sys/kernel/printk

系統預設輸出為:

cat /proc/sys/kernel/printk

4 4 1 7

4 4 1 7依次分別為:

控制台日誌級別:優先順序高於該值的訊息將被列印至控制台(此設定表明,只有級別不低於4的日誌會被輸出,即只有0 1 2 3 4級別的日誌會被輸出

預設的訊息日誌級別:將用該優先順序來列印沒有優先順序的訊息

最低的控制台日誌級別:控制台日誌級別可被設定的最小值(最高優先順序)

預設的控制台日誌級別:控制台日誌級別的預設值

3.如何修改控制態輸出:

改變console loglevel的方法有如下幾種:

1)啟動時kernel boot option:loglevel=level(loglevel可以為emerg alert crit err warning notice info debug同樣巨集數值高於level的才會被輸出)

2)執行時runtime:dmesg -n level(注意:demsg -n level 改變的是console上的loglevel,dmesg命令仍然會列印出所有級別的系統資訊。)

3)執行時runtime:echo $level > /proc/sys/kernel/printk

4)執行時runtime:寫程式使用syslog系統呼叫(可以man syslog)

日誌級別的選擇

日誌資訊分類 1.等級由低到高 debug2.區別 debug 級別最低,可以隨意的使用於任何覺得有利於在除錯時更詳細的了解系統執行狀態的東東 info 重要,輸出資訊 用來反饋系統的當前狀態給終端使用者的 後三個,警告 錯誤 嚴重錯誤,這三者應該都在系統執行時檢測到了乙個不正常的狀態。warn,可...

關於log日誌級別的使用經驗

軟體中總免不了要使用諸如 log4net,log4j,tracer 等東東來寫日誌,不管用什麼,這些東東大多是大同小異的,一般都提供了這樣5個日誌級別 debug info warn error fatal 乙個等級比乙個高,但是在具體開發中,關於應該如何選擇適應的等級,卻沒有找到好的文章進行說明。...

LOG4J中日誌級別的使用

log4j中 分為off fatal error warn info debug trace all或者您定義的級別。log4j建議僅僅使用四個級別。優先順序從高到低各自是error warn info debug。通過在這裡定義的級別,您能夠控制到應用程式中對應級別的日誌資訊的開關。比方在這裡定義...