91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2025-05-12 15:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

針對(duì)全棧開發(fā)者設(shè)計(jì)的實(shí)戰(zhàn)教程,本文聚焦LuatOS平臺(tái)log庫的高效使用,從基礎(chǔ)配置到高級(jí)調(diào)試策略,手把手教你搭建可擴(kuò)展的日志系統(tǒng),提升項(xiàng)目維護(hù)效率。

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

wKgZO2ghlR-ARhMJAAIfkz-JEfc587.png

一、 log.info()

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

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

wKgZO2ghlVqAb5swAAEFO431ics424.png

tag為日志標(biāo)識(shí),標(biāo)識(shí)日志來自哪個(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í)行。

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

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


具體使用場(chǎng)景如下:

wKgZPGghlhuACzniAADU900Mv5Q587.png

當(dāng)程序執(zhí)行到log.debug("進(jìn)入add函數(shù),a = ".. a.. ", b = ".. b)時(shí),它會(huì)輸出一條日志,明確顯示程序已經(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í),程序就會(huì)執(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)用場(chǎ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è)置日志級(jí)別。

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

LOG_SILENT(無日志模式)

LOG_DEBUG(debug日志模式)

LOG_INFO(info日志模式)

LOG_WARN(warning日志模式)

LOG_ERROR(error日志模式)

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

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

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

wKgZO2ghmAKAC8gTAAF4hR6DYoM816.png

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

wKgZPGghmHWABqC4AAAq44lECOY932.png

其余模式同理。

六、log.getLevel()

如果想要獲取到當(dāng)前設(shè)置的日志級(jí)別,我們就需要用到 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

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

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

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

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

審核編輯 黃宇

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

    關(guān)注

    0

    文章

    4

    瀏覽量

    1022
  • LuatOS
    +關(guān)注

    關(guān)注

    0

    文章

    156

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

    本文將帶你深入探索LuatOS系統(tǒng)中log的核心原理與實(shí)戰(zhàn)技巧,通過代碼示例解析日志管理、錯(cuò)誤
    的頭像 發(fā)表于 05-15 16:12 ?2871次閱讀
    <b class='flag-5'>全</b><b class='flag-5'>棧</b>開發(fā)進(jìn)階指南:<b class='flag-5'>LuatOS-log</b><b class='flag-5'>庫</b>從入門到<b class='flag-5'>實(shí)戰(zhàn)</b>!

    工程師是什么

    對(duì)工程師的個(gè)人看法。在我眼里,工程師是下能玩硬件和驅(qū)動(dòng),上能寫網(wǎng)頁和js,中間能玩轉(zhuǎn)服務(wù)
    的頭像 發(fā)表于 08-28 10:11 ?8026次閱讀

    工程師的尷尬處境

    今天無意百度了下“工程師”,發(fā)現(xiàn)自己的處境和百科里描述還真挺像的。
    的頭像 發(fā)表于 09-13 10:45 ?4195次閱讀

    如何定義工程師和DevOps

    工程師(本文稱「」開發(fā)者)和 DevOps 無疑是近期最火的詞匯,無論是國外還是國內(nèi)。而且火爆程度遠(yuǎn)超于想象。
    的頭像 發(fā)表于 09-21 10:14 ?4949次閱讀

    工程師的觀點(diǎn)認(rèn)知

    深以為然,所以,工程師應(yīng)該分為Web和App
    的頭像 發(fā)表于 10-10 10:08 ?3031次閱讀

    Web工程師是什么

    工程師(Full-Stack Engineer),是一個(gè)在IT行業(yè)圈子里越來越熱門的話題,無論是像Facebook這樣的大型公司,還是剛剛起步的初創(chuàng)公司,都開始招募
    的頭像 發(fā)表于 01-26 10:57 ?1.3w次閱讀

    工程師的定義及價(jià)值

    (Full Stack)工程師,也可以叫工程師,無論是前端知識(shí),還是后端架構(gòu)你都要了解。甚至有些調(diào)皮的程序員這樣理解
    的頭像 發(fā)表于 03-21 10:47 ?4056次閱讀

    什么是工程師 自己是否應(yīng)該成為一名工程師

    你常常聽說“工程師”這個(gè)叫法吧,不過這到底表示什么意思呢,你覺得自己應(yīng)該成為一名工程師
    的頭像 發(fā)表于 03-21 11:00 ?4060次閱讀

    什么是工程師

    工程師(Full-Stack Engineer):一個(gè)能處理數(shù)據(jù)、服務(wù)器、系統(tǒng)工程和客戶端的所有工作的
    的頭像 發(fā)表于 05-31 16:14 ?2.7w次閱讀

    全面了解工程師

    最近有好多網(wǎng)友問我關(guān)于工程師的事情,從大家的口氣中,能聽出大家都認(rèn)為工程師是一個(gè)非常高大
    的頭像 發(fā)表于 08-28 16:13 ?3361次閱讀

    工程師與普通工程師的區(qū)別

    前端工程師,后端工程師以及工程師都做什么?各自的薪水狀況又如何?
    的頭像 發(fā)表于 09-02 15:40 ?6527次閱讀

    工程師真的不全

    工程師是指掌握多種技能,并能利用多種技能獨(dú)立完成產(chǎn)品的人,也叫工程師(同時(shí)具備前端和后臺(tái)能力),英文Full Stack engin
    的頭像 發(fā)表于 09-17 11:08 ?2450次閱讀

    真的有開發(fā)工程師

    工程師是他們最細(xì)化的工程師,同時(shí)也是價(jià)值最大的,
    的頭像 發(fā)表于 09-17 11:34 ?3722次閱讀

    為什么工程師會(huì)存在爭議

    如何成為一名工程師(full stack developer)?互聯(lián)網(wǎng)最熱的話題之一。LinkedIn, Facebook上標(biāo)榜自己是
    的頭像 發(fā)表于 10-11 16:58 ?4150次閱讀

    基于Rust的Log日志介紹

    了一種簡單的方法來實(shí)現(xiàn)日志記錄,本文將介紹如何使用Rust的Log作為日志門面,并結(jié)合env_logger和log4rs兩個(gè)
    的頭像 發(fā)表于 09-19 14:49 ?4894次閱讀