"); //-->
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
int g_nMizarLogLevel = 1;
void trace_info(const char* format,const int level,const char* file, int line, const char* func, ...);
// #define LOGV(format, arg...) trace_info(format, 4, __FILE__, __LINE__, __func__, ##arg);
// #define LOGD(format, arg...) trace_info(format, 4, __FILE__, __LINE__, __func__, ##arg);
// #define LOGI(format, arg...) trace_info(format, 3, __FILE__, __LINE__, __func__, ##arg);
// #define LOGW(format, arg...) trace_info(format, 2, __FILE__, __LINE__, __func__, ##arg);
// #define LOGE(format, arg...) trace_info(format, 1, __FILE__, __LINE__, __func__, ##arg);
// #define LOGF(format, arg...) trace_info(format, 1, __FILE__, __LINE__, __func__, ##arg);
#define LOGD(format, ...) port_printf(format, ##__VA_ARGS__)
//#define LOG_TRACE(format, level, file, line, func, ...) port_printf("\n%s - %s(%d) - %s: ",format, level, file, line, func, ##__VA_ARGS__)
#define LOG_TRACE(format, level, file, line, func, arg...) trace_info(format, level, file, line, func)//好奇怪这样就可以了。
#define LOGW(format, ...) LOG_TRACE(format, 2, __FILE__, __LINE__, __func__, __VA_ARGS__)
void port_printf(const char *format, ...){
va_list args;
va_start(args, format);
vprintf(format, args);
va_end(args);
}
void trace_info(const char* format,const int level,const char* file, int line, const char* func, ...)
{
if (g_nMizarLogLevel < level)
{
return;
}
fprintf(stdout, "%d :[%s:%d]%s: ",level, file, line, func);
va_list vaList;
va_start(vaList, format);
vfprintf(stdout, format, vaList);
va_end(vaList);
fprintf(stdout, "%c", '\n');
}
int main(int argc, char *argv[])
{
LOGD("hello \n");
LOGW("log warning test \n");
return 0;
}专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
网通投资8亿发展ADSL 年底用户将达300万
【IEEE好文分享】AI智能体能为您做什么?
简单制胜—第四部分:高效主动均衡背后的算法
信息产业部为互联互通护航 多项硬措施即将出台
InstaSPIN-无刷直流电机与DRV- 8312和Stellaris LM3S818
三菱自动扶梯控制电源与抱闸电路
铃木电梯抱闸电路(B)
NDS9410A N沟道场效应管
电机驱动器和电机信号链的简介
2026年PCIM Asia Shenzhen正式定档,连接全球电力电子产业与华南核心产业集群
LG电梯抱闸电路
DRV8412-C2-KIT,直流有刷和步进电机控制套件
InstaSPIN-无刷直流电机与DRV-8312和小型28035
金升阳超低纹波1mV系列开关电源重磅发布—LRN65-20Bxx系列
谁唱主角——展望2003年下半年显示芯片
MSP430系列单片机选购指南(中文)
人工智能领域的投资已达数万亿,从当前技术中实现通用人工智能(AGI)的可能性“接近于零”
200-600W高功率密度电源——LOFxxx-20BxxR2
480/960W R2系列三相导轨电源—LITFxxx-26BxxR2
mxic公司的网卡芯片mx98905
ROHM首次推出用于精密目标检测的高速VCSEL光学传感器
三菱自动扶梯控制电路
NCP1271–Soft Skip Mode Standby PWM Controller with Adjustable Skip or External Latch
精度跃升,稳定为王:HO1高压电源为精密仪器赋能
山东力诺拟建TFT-LCD基板和CF生产线 跨入LCD产业领域
三菱自动扶梯安全回路电路
电力线上网遭遇“尴尬” 用户欢迎对手看低
MSP430Flash (Bootstrap编程)中文使用手册
永磁电机的磁场定向控制
配套ACDC机壳开关电源的宽压金属滤波器——FC-LxxM系列