网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C语言简单日志记录系统-创新互联

在嵌入式系统软件开发过程中,经常会将系统信息以日志的形式记录在文件中,本文介绍一种简单的日志记录方法。

创新互联长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为福田企业提供专业的成都网站设计、成都网站建设,福田网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

1.日志头文件:

extern FILE *sys_log_file;


#define SYS_LOG_ERR(...) 			\
    do {					\
        if (sys_log_file != NULL) { 		\
            fprintf(sys_log_file, "sys: error " __VA_ARGS__); \
            fflush(sys_log_file); 	\
        } else 				\
        fprintf(stderr, "sys: error " __VA_ARGS__); \
    } while (0)

#define SYS_LOG_WARN(...) 			\
    do { 					\
        if (sys_log_file != NULL) { 		\
            fprintf(sys_log_file, "sys: warning " __VA_ARGS__); \
            fflush(sys_log_file); 	\
        } else 				\
        fprintf(stderr, "sys: warning " __VA_ARGS__); \
    } while (0)

#define SYS_LOG(...) 				\
    do { 					\
        if (sys_log_file != NULL) { 		\
            fprintf(sys_log_file, "sys: " __VA_ARGS__); \
            fflush(sys_log_file); 	\
        } 				\
    } while (0)

2.打开及调用

FILE *sys_log_file = NULL;


int main()
{
    sys_log_file = fopen("sys.log", "a");

    if (sys_log_file != NULL)
    {
        printf("file open OK!\n");
    }
    else
    {
        printf("file open failed!\n");
    }

    SYS_LOG_ERR("sys log error\n");

    SYS_LOG_WARN("sys log warning\n");

    SYS_LOG("sys log\n");

    fclose(sys_log_file);

    return 0;
}

3.总结:

1)该日志记录系统分为错误,警告,普通3种日志,采用宏的方式进行调用。对于错误,警告,若未指定文件,则会打印到标准输出设备上。

2)fprintf调用是线程安全的,原子操作的,多线程调用过程中不会出现乱码情况,但要注意其并不是进程安全的,在多进程调用过程中尤为注意。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文题目:C语言简单日志记录系统-创新互联
新闻来源:http://bjjierui.cn/article/ceopgi.html

其他资讯