log.c的应用

1.下载

https://github.com/rxi/log.c

2.日志等级

log_trace(const char *fmt, ...);
log_debug(const char *fmt, ...);
log_info(const char *fmt, ...);
log_warn(const char *fmt, ...);
log_error(const char *fmt, ...);
log_fatal(const char *fmt, ...);

3.如何使用

3.1.logTest1.c

#include "log.h"
#include <time.h>
#include <stdio.h>



int main(int argc, char *argv[])
{
	//设置标准打印日志等级,所有低于这个等级的日志都不会被输出到stderr

    log_set_level(0);

	//设置静默模式,此模式不会有任何log被输出到stderr

    log_set_quiet(0);

    time_t t; // 定义一个 time_t 类型的变量 t

    struct tm *tm; // 定义一个 tm 结构体指针 tm

    char filename[20]; // 定义一个字符数组 filename,用来存储文件名

    t = time(NULL); // 调用 time 函数获取系统当前时间,并赋值给 t

    tm = localtime(&t); // 调用 localtime 函数将 t 转换为本地时间,并赋值给 tm

    FILE *fp1, *fp2;
    sprintf(filename, "Info%d-%d-%d %d:%02d:%02d", tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec); // 调用 sprintf 函数将 tm 中的信息格式化为字符串,并赋值给 filename
	fp1 = fopen(filename, "ab");

    if(fp1 == NULL)
        return -1;

	sprintf(filename, "Error%d-%d-%d %d:%02d:%02d", tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec); // 调用 sprintf 函数将 tm 中的信息格式化为字符串,并赋值给 filename
    fp2 = fopen(filename, "ab");

    if(fp2 == NULL)
        return -1;

    log_add_fp(fp1, LOG_INFO);
    log_add_fp(fp2, LOG_ERROR);

    log_debug("debug");
    log_info("info");
    log_warn("warn");

    fclose(fp2);
    fclose(fp1);


    return 0;

}

3.2.makefile

CC = gcc

OBJ = log.o

CFLAGS = -I./log.c-master/src/

logTest1:$(OBJ)
	$(CC) logTest1.c $(OBJ) -o logTest1 $(CFLAGS) -DLOG_USE_COLOR

log.o:
	$(CC) ./log.c-master/src/log.c -c 
	
clean:
	rm -rf $(OBJ) logTest1
 
.PHONY: clean ALL

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值