C语言实现日志封装

 一、文件操作

见链接 https://www.cnblogs.com/dolphin0520/archive/2011/10/05/2199598.html

二、日志封装实现

FILE *LOG_FP;
#define LOG(level, format, ...) \
        LOG_FP = fopen("/home/macrored/Desktop/test.log", "a"), \
        fprintf(LOG_FP, "[%s|%s@%s:%d] " format "\n", \
            level, __func__, __FILE__, __LINE__, ##__VA_ARGS__ ), \
        fclose(LOG_FP)

三、实现效果

#include <stdio.h>

FILE *LOG_FP;
#define LOG(level, format, ...) \
        LOG_FP = fopen("/home/macrored/Desktop/test.log", "a"), \
        fprintf(LOG_FP, "[%s|%s@%s:%d] " format "\n", \
            level, __func__, __FILE__, __LINE__, ##__VA_ARGS__ ), \
        fclose(LOG_FP)
int main()
{
    LOG("LOG_DEBUG", "a=%d", 10);
    return 0;
}

日志函数内容输出如下:

macrored@ubuntu:~/Desktop$ cat test.log
[LOG_DEBUG|[email protected]:11] a=10

参考链接 https://blog.csdn.net/shanzhizi/article/details/8983768

猜你喜欢

转载自www.cnblogs.com/macrored/p/11458027.html
今日推荐