之前只知道 dmesg 可以用來助使用者了解系統的啟動資訊,現在接觸了openwrt,發現了logread。
logread是在除錯luci的時候用到的,極其方便,對於不太了解openwrt系統構成對人尤甚。
這個需要寫程序對人對syslogd提供支援,否則說來知識惘然,我們需要做系統,需要做好對系統,就需要油完善對日誌管理,精簡無冗餘對才是最有用的,這是我們使用其的目的。廢話不多說,直接看卡logread的組成吧
在busybox中實現了syslogd 和 logread.
syslogd用來記錄log, logread則用來讀取log.
logread的**很簡潔,主要實現過程是:連線共享記憶體->訊號量加鎖->讀取共享記憶體中的資訊並輸出->訊號量解鎖
正如openwrt官網wiki所說older openwrt releases (aa and earlier ones) were using busybox'ssyslogd
(andlogread
) while the newer ones (bb and later) use
ubox
'slogd
andlogread
.老版本用 syslogd與
logread,新版本用logd與logread
logd
– a deamon creating/dev/log
socket, forwarding kernel messages & providing ubuslog
object (withread
andwrite
commands)
logread
– a tool for reading messages usingubus
, see help messages for its usage
syslogd產生的log一般都在/var/log/messages裡面
而logd產生的log 好像是一塊記憶體 /sbin/logd -s 16 16kb,這塊還不是很了解
要想輸出自己的log,用logread讀取到,就要用到logger這個工具
logger -t wsz hello 指定特定的標籤名來列印資訊,預設是使用者名稱
logger -s hello 直接輸出到stderr ,logread讀不到
logger -p 1 指定優先順序
Qt列印Log日誌到檔案
寫軟體時有時候需要記錄日誌到檔案,方便檢視軟體執行資訊和排查問題,qt有自己的日誌列印功能,實現qt日誌功能需要用到下面的函式,其中qt4和qt5的函式有區別 上面的函式是用來列印除錯資訊,警報資訊,危險資訊和致命資訊的。當qt有內部錯誤產生時,qt除錯庫會列印幾百種警報資訊 通常是異常的函式引數 ...
列印log等內容到檔案中, 追加
有需求,需要把log檔案列印到檔案中進行轉存,或者上傳到伺服器,如下 要列印的內容為nsstring 方法1.成功列印,但要注意下面這種方式會不斷地開啟這個檔案,然後不斷地關閉檔案,在正常的 中,應該是開啟一次,關閉一次即可,因為開啟和關閉檔案流的操作是很費時的。define recordfilep...
MTK平台,如何開啟UART列印log到終端
修改 alps kernel 3.10 drivers misc mediatek mtprof bootprof.c 找到一下地方 static void bootup finish void 修改完後儲存,對於安卓4.x的版本,執行如 mk 機型 r lk kernel bootimage 對於...