一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全棧開發(fā)進(jìn)階指南:LuatOS-log庫從入門到實(shí)戰(zhàn)!

青山老竹農(nóng) ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2025-05-15 16:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文將帶你深入探索LuatOS系統(tǒng)中l(wèi)og庫的核心原理與實(shí)戰(zhàn)技巧,通過代碼示例解析日志管理、錯(cuò)誤追蹤及性能優(yōu)化的最佳實(shí)踐,助力全棧工程師構(gòu)建更穩(wěn)健的物聯(lián)網(wǎng)應(yīng)用。

今天,我們一起來認(rèn)識LuatOS的log庫!

wKgZO2ghlR-ARhMJAAIfkz-JEfc587.png

一、 log.info()

log info()主要打印一些正常的信息。比如,記錄程序的啟動信息、某個(gè)模塊的初始化完成、重要業(yè)務(wù)流程的執(zhí)行等。

我們利用log.info(),可以清晰了解程序的執(zhí)行順序。

wKgZO2ghlVqAb5swAAEFO431ics424.png

tag為日志標(biāo)識,標(biāo)識日志來自哪個(gè)模塊或功能。

比如:在一個(gè)包含多個(gè)子系統(tǒng)的應(yīng)用程序中,為每個(gè)子系統(tǒng)的日志添加相應(yīng)的標(biāo)簽,開發(fā)人員就能快速定位到問題所在的模塊。

在一個(gè)復(fù)雜的Lua腳本里,使用log.info() 函數(shù)在關(guān)鍵代碼位置,設(shè)置輸出信息,就能知道程序是否按預(yù)期順序執(zhí)行。

如果你想在程序開頭看是否會記錄到模塊初始化,代碼可以這樣寫:

wKgZO2ghlZWAeTBSAACUxPsAfPk323.png

當(dāng)模塊完成初始化,就能在日志打印里看到相關(guān)信息了。

二、 log.debug()

log.debug()主要用在開發(fā)和調(diào)試階段,記錄詳細(xì)的調(diào)試信息。

這些信息方便我們理解程序的執(zhí)行流程、變量的變化。在開發(fā)完成后,可以根據(jù)需要關(guān)閉這些調(diào)試信息,以減少日志量和提高性能。

wKgZPGghlfyAECsgAAENAnjvLYM098.png


具體使用場景如下:

wKgZPGghlhuACzniAADU900Mv5Q587.png

當(dāng)程序執(zhí)行到log.debug("進(jìn)入add函數(shù),a = ".. a.. ", b = ".. b)時(shí),它會輸出一條日志,明確顯示程序已經(jīng)進(jìn)入了add函數(shù)。

三、log.warn()

log.warn()主要用于記錄一些警告信息,表示程序遇到了一些可能存在潛在的風(fēng)險(xiǎn),還沒有導(dǎo)致程序出錯(cuò),但可能需要我們關(guān)注的部分。

wKgZO2ghll6ANIpJAAEF9GmBwp0429.png

比如:當(dāng)文件大小超過1MB,你想輸出一條警告信息提醒用戶,你就可以在代碼中使用log.warn()。

wKgZO2ghln-AVcxNAADDIxwqlPc822.png

當(dāng)文件大小超過1MB時(shí),程序就會執(zhí)行l(wèi)og.warn()這行代碼,輸出一條警告信息,提醒開發(fā)者注意下文件大小。

四、 log.error()

log.error()主要用于記錄錯(cuò)誤信息,當(dāng)程序發(fā)生錯(cuò)誤或異常情況時(shí),使用這個(gè)函數(shù)來記錄相關(guān)的錯(cuò)誤信息,以便開發(fā)者能夠快速定位和解決問題。

wKgZPGghlriAGwIEAAEHg1MUI0k954.png


具體應(yīng)用場景:

wKgZO2ghlt6AUEYsAACl2TIg1YQ923.png

當(dāng)除數(shù)為0時(shí),輸出錯(cuò)誤信息:除數(shù)不能為0。

五、log.setLevel()

以上是我們常用到的幾種日志類型。但有時(shí)候,debug是調(diào)試時(shí)用到的,并不想讓用戶看到我們的debug類型日志,難道要一個(gè)一個(gè)刪除嗎?

不用!我們可以用log.setLevel()函數(shù)設(shè)置日志級別。

在LuatOS的log庫中,日志有如下幾種類型:

LOG_SILENT(無日志模式)

LOG_DEBUG(debug日志模式)

LOG_INFO(info日志模式)

LOG_WARN(warning日志模式)

LOG_ERROR(error日志模式)

日志級別從低到高依次為:DEBUG < INFO < WARN < ERROR

只有日志級別大于或等于當(dāng)前設(shè)置的級別時(shí),該日志才會被輸出。

比如日志設(shè)置為INFO級別時(shí):DEBUG級別的日志不會輸出,而INFO、WARN、ERROR級別的日志會輸出。

wKgZO2ghmAKAC8gTAAF4hR6DYoM816.png

比如:想設(shè)置為INFO日志模式,不要輸出debug日志信息,代碼就這樣寫:

wKgZPGghmHWABqC4AAAq44lECOY932.png

其余模式同理。

六、log.getLevel()

如果想要獲取到當(dāng)前設(shè)置的日志級別,我們就需要用到 log.getLevel()函數(shù)。

wKgZPGghmLCACyPsAADc-AXm7vA582.png

示例如下:

wKgZPGghmN2AEw9nAADu1iEQ6eA101.png


七、log.style()

設(shè)置日志風(fēng)格,需要使用到log.style(val)函數(shù)。

LuatOS的log庫提供了3種日志風(fēng)格,分別為:默認(rèn)風(fēng)格0;調(diào)試風(fēng)格1;調(diào)試風(fēng)格2。

這幾種方式的日志呈現(xiàn)形式不同,根據(jù)個(gè)人習(xí)慣調(diào)整。

wKgZO2ghmQqAdupDAAE5VyYA-AQ320.png


示例如下:

wKgZPGghmSeANH1QAAB2p0Nhoso858.png

以log.info("ABC", "DEF", 123) 為例, 假設(shè)該代碼位于main.lua的12行。

那么三種風(fēng)格的輸出樣式為:

默認(rèn)風(fēng)格0的輸出樣式為:I/user.ABC DEF 123

調(diào)試風(fēng)格1的輸出樣式為:I/main.lua:12 ABC DEF 123

對比默認(rèn)風(fēng)格0,增加了文件名和代碼所在行數(shù)。

調(diào)試風(fēng)格2的輸出樣式為:I/user.ABC main.lua:12 DEF 123

對比其他風(fēng)格,信息位置排放有所區(qū)別。

關(guān)于log庫的內(nèi)容就分享到這里了~

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Log
    Log
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    11521
  • LuatOS
    +關(guān)注

    關(guān)注

    0

    文章

    99

    瀏覽量

    2208
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    解鎖LuatOS-log工程師的日志管理實(shí)戰(zhàn)課!

    針對開發(fā)者設(shè)計(jì)的實(shí)戰(zhàn)教程,本文聚焦LuatOS平臺log
    的頭像 發(fā)表于 05-12 15:23 ?831次閱讀
    解鎖<b class='flag-5'>LuatOS-log</b><b class='flag-5'>庫</b>:<b class='flag-5'>全</b><b class='flag-5'>棧</b>工程師的日志管理<b class='flag-5'>實(shí)戰(zhàn)</b>課!

    野火STM32開發(fā)實(shí)戰(zhàn)指南 火哥的書 開賣了

    什么、該如何進(jìn)階等。另一個(gè)是通過對的了解和GPIO的學(xué)習(xí),讓讀者快速掌握STM32的開發(fā)方法,這是入門的第一步。第二部分(第6~16章)是
    發(fā)表于 07-27 14:46

    【圖書分享】《STM32開發(fā)實(shí)戰(zhàn)指南

    一步講解了結(jié)合嵌入式實(shí)時(shí)操作系統(tǒng)、TCP/IP協(xié)議進(jìn)行嵌入式系統(tǒng)開發(fā)的方法,讓讀者循序漸進(jìn)、系統(tǒng)地掌握基于STM32官方進(jìn)行開發(fā)的方法。 《STM32
    發(fā)表于 03-13 17:01

    stm32的開發(fā)實(shí)戰(zhàn)指南

    有誰有stm32的開發(fā)實(shí)戰(zhàn)指南,給我來一份,謝了!1211639441
    發(fā)表于 10-18 21:07

    求STM32開發(fā)實(shí)戰(zhàn)指南.........

    跪求STM32開發(fā)實(shí)戰(zhàn)指南...............................................
    發(fā)表于 11-29 13:54

    STM32開發(fā)實(shí)戰(zhàn)指南

    STM32開發(fā)實(shí)戰(zhàn)指南,一共5個(gè)部分,供大家參考
    發(fā)表于 03-09 08:20

    《STM32 HAL 開發(fā)實(shí)戰(zhàn)指南—基于H750》

    受限于單個(gè)文件不能超過5M,所以分成10個(gè)壓縮包分別上傳。 野火STM32系列叢書《STM32 HAL 開發(fā)實(shí)戰(zhàn)指南—基于H750》,內(nèi)容殷實(shí),講解詳細(xì),適合
    發(fā)表于 01-14 10:09

    如何對STM32F10x標(biāo)準(zhǔn)開發(fā)進(jìn)行概覽

    ,包括物聯(lián)網(wǎng)開發(fā)基礎(chǔ)實(shí)戰(zhàn)、IoT-ARM結(jié)構(gòu)下的各類智能產(chǎn)品的設(shè)計(jì)、STM32的開發(fā)、全國電賽優(yōu)秀作品分析等,如有需要請自行領(lǐng)?。㏒TM
    發(fā)表于 12-06 06:54

    LabVIEW入門實(shí)戰(zhàn)開發(fā)100例

    LabVIEW入門實(shí)戰(zhàn)開發(fā)100例LabVIEW入門實(shí)戰(zhàn)開發(fā)100例LabVIEW
    發(fā)表于 02-18 11:44 ?0次下載

    arduino開發(fā)實(shí)戰(zhàn)指南

    arduino開發(fā)實(shí)戰(zhàn)指南
    發(fā)表于 02-22 14:56 ?0次下載

    STM32開發(fā)實(shí)戰(zhàn)指南

    STM32開發(fā)實(shí)戰(zhàn)指南-劉火良,電子 epub格式,清晰非掃描
    發(fā)表于 10-27 16:25 ?23次下載

    javaweb入門實(shí)戰(zhàn)

    JavaWeb是一門使用Java語言開發(fā)Web應(yīng)用程序的技術(shù),它廣泛應(yīng)用于各種網(wǎng)站和在線應(yīng)用程序的開發(fā)。對于想要學(xué)習(xí)和使用JavaWeb技術(shù)的開發(fā)者來說,
    的頭像 發(fā)表于 12-03 11:44 ?1779次閱讀

    LuatOS開發(fā)之4G模組隨機(jī)數(shù)(random)|實(shí)戰(zhàn)指南

    本次學(xué)習(xí)的實(shí)戰(zhàn)是關(guān)于4G模組LuatOS開發(fā)的隨機(jī)數(shù)示例指南,希望大家有所收獲。
    的頭像 發(fā)表于 11-30 09:51 ?679次閱讀
    <b class='flag-5'>LuatOS</b><b class='flag-5'>開發(fā)</b>之4G模組隨機(jī)數(shù)(random)|<b class='flag-5'>實(shí)戰(zhàn)</b><b class='flag-5'>指南</b>

    爬蟲數(shù)據(jù)獲取實(shí)戰(zhàn)指南入門高效采集

    爬蟲數(shù)據(jù)獲取實(shí)戰(zhàn)指南入門高效采集 ? ? 在數(shù)字化浪潮中,數(shù)據(jù)已成為驅(qū)動商業(yè)增長的核心引擎。無論是市場趨勢洞察、競品動態(tài)追蹤,還是用戶
    的頭像 發(fā)表于 03-24 14:08 ?557次閱讀

    快速入門——LuatOS:sys多任務(wù)管理實(shí)戰(zhàn)攻略!

    在嵌入式開發(fā)中,多任務(wù)管理是提升系統(tǒng)效率的關(guān)鍵。本教程專為快速入門設(shè)計(jì),聚焦LuatOS的sys,通過實(shí)戰(zhàn)案例帶你快速掌握多任務(wù)創(chuàng)建、調(diào)度
    的頭像 發(fā)表于 05-29 14:36 ?169次閱讀
    快速<b class='flag-5'>入門</b>——<b class='flag-5'>LuatOS</b>:sys<b class='flag-5'>庫</b>多任務(wù)管理<b class='flag-5'>實(shí)戰(zhàn)</b>攻略!