加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
log.cpp 1.19 KB
一键复制 编辑 原始数据 按行查看 历史
拎壶葱 提交于 2022-01-15 09:12 . 1.first commit
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <time.h>
#include <string.h>
/** @fn dev_debug
* @brief 设备打印
* @param[in] level -- 打印等级
* @param[in] file_name -- 打印的文件名
* @param[in] line -- 打印行
* @param[in] func_name -- 打印函数名
* @param[in] tag -- 打印标签
* @param[in] format -- 打印文本
* @param[out] N/A
* @return N/A
*/
void dev_debug(const char* level, const char *file_name, unsigned int line,
const char *func_name, const char *format, ...)
{
struct timespec current_time;
struct tm format_time;
va_list arglist;
memset(&current_time, 0, sizeof(current_time));
clock_gettime(CLOCK_REALTIME, &current_time);
localtime_r(&current_time.tv_sec, &format_time);
// 打印标签头
printf("[%02d.%02d.%02d %02d:%02d:%02d.%03ld][%s][%s %s %d]:",
format_time.tm_year+1900,
format_time.tm_mon+1,
format_time.tm_mday,
format_time.tm_hour,
format_time.tm_min,
format_time.tm_sec,
current_time.tv_nsec/1000000,
level,
file_name,
func_name,
line
);
// 打印传入的参数
va_start(arglist, format);
vprintf(format, arglist);
va_end(arglist);
// 换行
printf("\r\n");
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化