linux 内核日志等级,Linux系统中日志级别详情
日志信息分類
1.等級由低到高:debug
2.區別:
debug 級別最低,可以隨意的使用于任何覺得有利于在調試時更詳細的了解系統運行狀態的東東;
info ?重要,輸出信息:用來反饋系統的當前狀態給最終用戶的;
后三個,警告、錯誤、嚴重錯誤,這三者應該都在系統運行時檢測到了一個不正常的狀態。
warn, 可修復,系統可繼續運行下去;
Error, 可修復性,但無法確定系統會正常的工作下去;
Fatal, 相當嚴重,可以肯定這種錯誤已經無法修復,并且如果系統繼續運行下去的話后果嚴重。
3.使用
什么時候使用 info, warn , error ?
info 用于打印程序應該出現的正常狀態信息, 便于追蹤定位;
warn 表明系統出現輕微的不合理但不影響運行和使用;
error 表明出現了系統錯誤和異常,無法正常完成目標操作。
4.格式
總結起來, 錯誤日志格式可以為:
log.error(“[接口名或操作名] [Some Error Msg] happens. [params] [Probably Because]. [Probably need to do].”);
log.error(String.format(“[接口名或操作名] [Some Error Msg] happens. [%s]. [Probably Because]. [Probably need to do].”, params));
或
log.error(“[Some Error Msg] happens to 錯誤參數或內容 when [in some condition]. [Probably Because]. [Probably need to do].”);
log.error(String.format(“[Some Error Msg] happens to %s when [in some condition]. [Probably Because]. [Probably need to do].”, parameters));
[Probably Reason]. [Probably need to do]. 在某些情況下可以省略; 在一些重要接口和場景下最好能說明一下。
每一條錯誤日志都是獨立的,盡可能完整、具體、直接說明何種場景下發生了什么錯誤,由什么原因導致,要采用什么措施或步驟。
5.意義
錯誤日志是排查問題的重要手段之一。 當我們編程實現一項功能時, 通常會考慮可能發生的各種錯誤及相應原因:
要排查出相應的原因, 就需要一些關鍵描述來定位原因。這就會形成三元組:錯誤現象 -> 錯誤關鍵描述 -> 最終的錯誤原因。
需要針對每一種錯誤盡可能提供相應的錯誤關鍵描述,從而定位到相應的錯誤原因。也就是說,編程的時候,要仔細思考, 哪些描述是非常有利于定位錯誤原因的, 盡可能將這些描述添加到錯誤日志中。
二、相關日志目錄
1、內核引導日志目錄
/var/log/dmesg
ssh登陸記錄信息,包括失敗的記錄信息。
/var/log/secure
記錄郵件相關信息
/var/log/maillog
記錄crontab相關信息
/var/log/cron
記錄ftp相關的日志信息
/var/log/xferlog
系統大部分日志,包括login、check password、failed log等
/var/log/messages
三、一些命令
lastlog查看/var/log/lastlog文件的信息
①、查看最近root的登陸情況
Lastlog ?-u ?root
who、users、finger命令查看/var/run/utmp文件,記錄每個用戶登陸系統的時間
Last命令查看/var/log/wtmp文件,記錄每個用戶登入與登出時間
————————————————
/proc/sys/kernel/printk文件定義了4個數字, 查看日志級別:
cat /proc/sys/kernel/printk
4 4 1 7
①控制臺日志級別:優先級高于該值的消息將被打印至控制臺。
②缺省的消息日志級別:將用該值來打印沒有優先級的消息。
③最低的控制臺日志級別:控制臺日志級別可能被設置的最小值。
④缺省的控制臺:控制臺日志級別的缺省值。
日志緩沖區的每一行文本開頭具有級別標記, 級別值越小則優先級越高.
系統定義了8個消息級別, 級別號從0到7分別為:
致命級(KERN_EMESG),
警戒級(KERN_ALERT),
臨界級(KERN_CRIT),
錯誤級(KERN_ERR),
告警級(KERN_WARN),
注意級(KERN_NOTICE),
通知級(KERN_INFO),
調試級(KERN_DEBUG).
修改日志級別:
echo 0 4 1 7 > /proc/sys/kernel/printk
log4j定義了8個級別的log(除去OFF和ALL,可以說分為6個級別),優先級從高到低依次為:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。
ALL 最低等級的,用于打開所有日志記錄。
TRACE designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志級別,一般不會使用。
DEBUG 指出細粒度信息事件對調試應用程序是非常有幫助的,主要用于開發過程中打印一些運行信息。
INFO 消息在粗粒度級別上突出強調應用程序的運行過程。打印一些你感興趣的或者重要的信息,這個可以用于生產環境中輸出程序運行的一些重要信息,但是不能濫用,避免打印過多的日志。
WARN 表明會出現潛在錯誤的情形,有些信息不是錯誤信息,但是也要給程序員的一些提示。
ERROR 指出雖然發生錯誤事件,但仍然不影響系統的繼續運行。打印錯誤和異常信息,如果不想輸出太多的日志,可以使用這個級別。
FATAL 指出每個嚴重的錯誤事件將會導致應用程序的退出。這個級別比較高了。重大錯誤,這種級別你可以直接停止程序了。
OFF 最高等級的,用于關閉所有日志記錄。
如果將log level設置在某一個級別上,那么比此級別優先級高的log都能打印出來。例如,如果設置優先級為WARN,那么OFF、FATAL、ERROR、WARN 4個級別的log能正常輸出,而INFO、DEBUG、TRACE、 ALL級別的log則會被忽略。Log4j建議只使用四個級別,優先級從高到低分別是ERROR、WARN、INFO、DEBUG。
從我們實驗的結果可以看出,log4j默認的優先級為ERROR或者WARN(實際上是ERROR)。
————————————————
當系統崩潰修復時,會產生大量系統日志,不便于關鍵信息獲取,通過修改系統日志打印界別,可突出所需級別的日志信息,便于查找。
查詢串口日志級別
在 OS 執行cat /proc/sys/kernel/printk命令,返回信息中“3”表示串口日志級別:
linux-70u8:~ # cat /proc/sys/kernel/printk
3 4 1 7
修改串口日志級別
?說明:
該方法只對當次運行有效,OS重啟后串口日志級別恢復為配置文件定義的級別。
在 OS 執行echo N > /proc/sys/kernel/printk命令,N 表示要設置的串口日志級別,相關說明如表11-3所示。
linux-70u8:~ # echo 7 > /proc/sys/kernel/printk
linux-70u8:~ # cat /proc/sys/kernel/printk
7 4 1 7
表11-3?串口日志級別說明
級別
對應內核日志級別
說明
0
KERN_EMERG
緊急消息。系統崩潰之前提示,表示系統已不可用。
1
KERN_ALERT
報告消息。表示必須立即采取措施。
2
KERN_CRIT
臨界消息。通常涉及嚴重的硬件或軟件操作失敗。
3
KERN_ERR
錯誤消息。串口日志的默認級別。驅動程序常用 KERN_ERR 來報告硬件的錯誤。
4
KERN_WARNING
警告消息。對可能出現問題的情況進行警告。
5
KERN_NOTICE
正常但又重要的消息。用于提醒,常用于與安全相關的消息。
6
KERN_INFO
提示消息。如驅動程序啟動時,打印硬件消息。
7
KERN_DEBUG
調試消息。設置此級別會打印所有日志消息。
云服務器 ECS Linux 系統中常見的日志文件介紹
云服務器 ECS Linux 系統中,日志文件是非常重要的文件,它們記錄了很多系統中重要的事.Linux 系統中常見日志文件概述如下: /var/log/cron可以在 cron 文件中檢查 cron ...
(轉)淺談 Linux 系統中的 SNMP Trap
原文:https://www.ibm.com/developerworks/cn/linux/l-cn-snmp/index.html 簡介 本文講解 SNMP Trap,在介紹 Trap 概念之前, ...
【OS_Linux】Linux系統中目錄及文件管理
1.Linux系統中目錄的樹狀結構 目錄 /bin 存放二進制可執行文件(ls,cat,mkdir等),常用命令一般都在這里. /etc 存放系統管理和配置文件 /home 存放所有用戶文件的根目錄, ...
用戶管理 之 Linux 系統中的超級權限的控制
在Linux操作系統中,root的權限是最高的,也被稱為超級權限的擁有者.普通用戶無法執行的操作,root用戶都能完成,所以也被稱之為超級管理用戶. 在系統中,每個文件.目錄和進程,都歸屬于某一個用戶 ...
CentOS(四)--Linux系統的啟動級別
對于絕大多數Linux程序員來說,進入Linux系統后一般看到的是黑乎乎的界面(開發模式),因為系統如果啟動選擇開發模式,會減少啟動時間,優化內存等.但是通常我們剛安裝完Linux系統,然后進去以后是 ...
Linux系統中常見文件系統格式
Windows常用的分區格式有三種,分別是FAT16.FAT32.NTFS格式. 在Linux操作系統里有Ext2.Ext3.Linux swap和VFAT四種格式. FAT16: 作為一種文件名稱, ...
虛擬機-linux系統中圖形界面和命令行界面切換
linux系統中圖形化界面和命令行界面之間的切換可以分為兩種,臨時性切換和永久性切換. 臨時性切換即切換后只對本次生效,系統重啟后界面還是默認界面. 永久性切換即切換后系統開機后永遠處于的界面. 臨時 ...
【Linux】Linux系統中的權限詳解
我們linux服務器上有嚴格的權限等級,如果權限過高導致誤操作會增加服務器的風險.所以對于了解linux系統中的各種權限及要給用戶,服務等分配合理的權限十分重要. 一.文件基本權限 首先看下linux ...
在linux系統中安裝MySQL
1.安裝Linux系統中自帶的MySQL安裝包 在現在常用的發行版本里都集中了MySQL安裝包 CentOS系統中的YUM中包含了MySQL安裝包,版本是MySQL5,rpm軟件包的名稱是mysql- ...
隨機推薦
canvas九宮格跑馬燈
canvas九宮格跑馬燈抽獎 之前用dom寫了一版,部分 安卓機會卡頓,換用canvas dom版本九宮格抽獎
MMORPG大型游戲設計與開發(概述)updated
1.定義 MMORPG,是英文Massive(或Massively)Multiplayer Online Role-PlayingGame的縮寫,即大型多人在線角色扮演游戲. 2.技術與知識 在這系列 ...
vc++創建文件目錄
#include "stdafx.h" #include #include #include
Mac上遠程桌面連接Windows Server 2012 R2
在將一臺服務器的操作系統由Windows Server 2012升級為Windows Server 2012 R2之后,在Mac電腦上用微軟的遠程桌面軟件怎么也連不上服務器,錯誤信息如下: Remot ...
C# 對List成員排序的簡單方法
網上看到的方法,實在太方便了,轉過來保存,原鏈接: http://blog.csdn.net/wanzhuan2010/article/details/6205884 using System; us ...
MapReduce的數據流程、執行流程
MapReduce的數據流程: 預先加載本地的輸入文件 經過MAP處理產生中間結果 經過shuffle程序將相同key的中間結果分發到同一節點上處理 Recude處理產生結果輸出 將結果輸出保存在hd ...
ZEN_CART_如何添加自定義頁面
按照下面的路徑,添加自己的文件,就OK了 以about us頁面為例, 默認模板 \includes\templates\template_default\templates\tpl_about_us ...
vue.js 配置移動端的url Scheme和iOS端配置url Scheme
假如urlScheme:baibai:// 一.vue.js端的配置: 1.通過html標簽跳轉:
(三) Keras Mnist分類程序以及改用交叉熵對比
視頻學習來源 https://www.bilibili.com/video/av40787141?from=search&seid=17003307842787199553 筆記 Mnist分 ...
此處為當前頁,設置此處的href點后沒有效果
如果javaScript:void(0);寫錯了,那就很尷尬(某些瀏覽器忽略該錯誤如:谷歌 ...
總結
以上是生活随笔為你收集整理的linux 内核日志等级,Linux系统中日志级别详情的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 脚本 if else,基于s
- 下一篇: linux内核合并dtb文件,c –