38#ifdef LOSCFG_SHELL_DMESG
110 fp = fopen(str,
"w+");
112 printf(
"Error can't open the %s file\n",str);
147 if ((argc != 2) || (argv == NULL)) {
148 PRINTK(
"Usage: log level <num>\n");
149 PRINTK(
"Usage: log module <num>\n");
150 PRINTK(
"Usage: log path <PATH>\n");
154 if (!strncmp(argv[0],
"level", strlen(argv[0]) + 1)) {
155 level = strtoul(argv[1], &p, 0);
156 if ((*p != 0) || (level > LOS_TRACE_LEVEL) || (level < LOS_EMG_LEVEL)) {
158 PRINTK(
"log %s [num] can access as 0:EMG 1:COMMON 2:ERROR 3:WARN 4:INFO 5:DEBUG\n", argv[0]);
163 }
else if (!strncmp(argv[0],
"module", strlen(argv[0]) + 1)) {
164 module = strtoul(argv[1], &p, 0);
166 PRINTK(
"log %s can't access %s\n", argv[0], argv[1]);
167 PRINTK(
"not support yet\n");
171 PRINTK(
"not support yet\n");
173 }
else if (!strncmp(argv[0],
"path", strlen(argv[0]) + 1)) {
175 PRINTK(
"not support yet\n");
177 PRINTK(
"Usage: log level <num>\n");
178 PRINTK(
"Usage: log module <num>\n");
179 PRINTK(
"Usage: log path <PATH>\n");
186#ifdef LOSCFG_SHELL_DMESG
191 if (level != LOS_COMMON_LEVEL && (level > LOS_EMG_LEVEL && level <= LOS_TRACE_LEVEL)) {
202#ifdef LOSCFG_SHELL_DMESG
210 if ((level != LOS_COMMON_LEVEL) && ((level > LOS_EMG_LEVEL) && (level <= LOS_TRACE_LEVEL))) {
238#ifdef LOSCFG_SHELL_DMESG
244#ifdef LOSCFG_SHELL_CMD_DEBUG
@ CMD_TYPE_EX
不支持标准命令参数输入,会把用户填写的命令关键字屏蔽掉,例如:输入ls /ramfs,传入给注册函数的参数只有/ramfs,而ls命令关键字并不会被传入。
UINT32 LOS_DmesgLvSet(UINT32 level)
Set the dmesg level
UINT32 OsLogRecordStr(const CHAR *str, UINT32 len)
记录一个字符串
UINT32 OsDmesgLvGet(VOID)
void dprintf(const char *fmt,...)
Format and print data.
VOID LOS_LkPrint(INT32 level, const CHAR *func, INT32 line, const CHAR *fmt,...)
打印
VOID(* LK_FUNC)(INT32 level, const CHAR *func, INT32 line, const CHAR *fmt, va_list ap)
Define an printf handling function hook.
VOID LOS_LkRegHook(LK_FUNC hook)
设置回调函数
VOID LkDprintf(const CHAR *fmt, va_list ap)
LK 注者的理解是 log kernel(内核日志)
const CHAR * OsLogLvGet(INT32 level)
VOID DmesgPrintf(const CHAR *fmt, va_list ap)
STATIC INLINE LosProcessCB * OsCurrProcessGet(VOID)
STATIC INLINE LosTaskCB * OsCurrTaskGet(VOID)
STATIC INLINE VOID OsLogCycleRecord(INT32 level)
日志循环记录
VOID OsLkTraceLvSet(INT32 level)
VOID OsLkModuleLvSet(INT32 level)
STATIC INT32 g_modulelevel
模块等级
STATIC INLINE INT32 OsLkTraceLvGet(VOID)
VOID OsLkDefaultFunc(INT32 level, const CHAR *func, INT32 line, const CHAR *fmt, va_list ap)
内核打印函数,在LOS_LkPrint中回调
INT32 CmdLog(INT32 argc, const CHAR **argv)
log命令用于修改&查询日志配置,即选择打印哪种日志? 该命令依赖于LOSCFG_SHELL_LK,使用时通过menuconfig在配置项中开启"Enable Shell lk": Debug —> E...
VOID OsLkLogFileSet(const CHAR *str)
STATIC INT32 g_tracelevel
日志等级
LOS_MODULE_INIT(OsLkLoggerInit, LOS_INIT_LEVEL_EARLIEST)
日志模块初始化
INT32 OsLkModuleLvGet(VOID)
SHELLCMD_ENTRY(log_shellcmd, CMD_TYPE_EX, "log", 1,(CmdCallBackFunc) CmdLog)
const CHAR * OsLkCurLogLvGet(VOID)
UINT32 OsLkLoggerInit(VOID)
内核日志初始化
u32_t(* CmdCallBackFunc)(u32_t argc, const char **argv)