我們知道,lk裡面的log只能通過uart列印出來,看一下除了uart的初始化以及相關操作,這邊主要來看一下log的列印是如何控制列印級別的:
首先看該檔案:
1.project/msm8610
.mk
2# 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
. lk\include\debug.h
3. lk\lib\debug\debug.c#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)
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...