我们的需求?
内核打印日志信息时,我们想增加一些统一的标志性TAG,并且加上进程/线程号,方便对生成的日志信息搜索查看,对我们的开发调试能提供不少帮助。
怎么做?
在你的内核.c 源文件(常见的是驱动程序)的头部,所有 #include 语句的后面
,添加如下语句
#ifdef pr_fmt
#undef pr_fmt
#endif
#define pr_fmt(fmt) "CUST_TAG: %d: %s line=%d: " fmt, \
current->pid, __func__, __LINE__
注意:不建议将如上信息添加到 .h 头文件中,因为其他头文件也可能会有类似将 pr_fmt 重定义的可能,那么你的定义可能会被复写而产生非预期。另外还一个好处就是,在 .c 文件中的定义只对当前 .c 文件生效。
上面定义好之后,在当前源文件中就可以愉快的使用如下打印函数打印带有 CUST_TAG 的日志信息了:
pr_err()
pr_info()
pr_debug()
...