LK 列印log控制

2021-07-16 03:49:59 字數 2441 閱讀 6675

我們知道,lk裡面的log只能通過uart列印出來,看一下除了uart的初始化以及相關操作,這邊主要來看一下log的列印是如何控制列印級別的:

首先看該檔案:

1.project/msm8610

.mk

# top level project rules for the msm8610 project

#local_dir := $(get_local_dir)

target := msm8610

ifeq ($(target_build_variant),user) //列印log級別 debug為1

debug := 0

else

debug := 1

endif

emmc_boot := 1

enable_sdhci_support := 1

#enable power on vibrator feature

enable_pon_vib_support := true

enable_pwm_support := true

#defines += with_debug_dcc=1

defines += with_debug_uart=1 //定義該變數,串列埠才會進行初始化相關操作,log才能通過串列埠輸出

defines += with_debug_log_buf=1

#defines += with_debug_fbcon=1

defines += device_tree=1

#defines += mmc_boot_bam=1

#defines += crypto_bam=1

defines += aboot_ignore_boot_header_addrs=1

defines += aboot_force_kernel_addr=0x00008000

defines += aboot_force_ramdisk_addr=0x02000000

defines += aboot_force_tags_addr=0x01e00000

defines += aboot_force_kernel64_addr=0x00080000

#disable thumb mode

#todo: the gold linker has issues generating correct

#thumb interworking code for lk. confirm that the issue

#is with the linker and file a bug report.

enable_thumb := false

ifeq ($(enable_pon_vib_support),true)

defines += pon_vib_support=1

endif

ifeq ($(enable_sdhci_support),1)

defines += mmc_sdhci_support=1

endif

2

.  lk\include\debug.h

#if defined(debug)              //mk裡面定義為1

#define debuglevel debug //此時列印級別為1

#else

#define debuglevel 2

#endif

/* debug levels */

#define critical 0

#define always 0

#define info 1

#define spew 2

/* output */

void _dputc(char c); // *** for now, platform implements

int _dputs(const char *str);

int _dprintf(const char *fmt, ...) __printflike(1, 2);

int _dvprintf(const char *fmt, va_list ap);

#define dputc(level, str) do } while (0) //串列埠列印

#define dputs(level, str) do } while (0) //串列埠列印

#define dprintf(level, x...) do } while (0) //只列印 0 1 級別的log

#define dvprintf(level, x...) do } while (0)

3.  lk\lib\debug\debug.c

int _dprintf(const char *fmt, ...)

python控制台列印log輸出重複的解決方法

在我們使用log模組輸出日誌時,經常會遇到log輸出重複的問題,如下 先來看這個檔案log.py的 示例 功能描述 實現控制台和檔案同時記錄日誌的功能 編寫人 超哥 編寫日期 步驟分析 1 配置日誌記錄器名稱 2 配置日誌級別 3 配置日誌格式 可以分別設定,也可以統一設定 4 建立並新增handl...

web專案控制log4j列印資訊控制在那個包下面

在今天專案中開發的 時候遇見乙個問題,就是運用htmlunit爬取網頁的時候,很多資訊我不想讓它在log4j中列印出來,在中想到乙個辦法就是通過log4j開控制他的包名,而控制只有控制了整個專案,後來運用到乙個控制log4j中控制到乙個包下面的log4j的列印 log4j.category.com....

可變引數實現log列印

實現步驟如下 函式原型中使用省略號 函式定義中建立乙個va list變數 3.初始化va list變數 4.訪問引數列表 5.完成清理工作 上述步驟的實現需要使用到四個巨集 va list va start va list,arg va arg va list,type va end va list...