linux使用轻量级日志库EasyLogger-生成动态链接库

3 篇文章 1 订阅

首先下载EasyLogger源码到本地

git clone https://github.com/armink/EasyLogger.git

将demo/linux/easylogger 下移植好的文件替换工程根目录easylogger下的相同文件,对应docs/zh/文件夹下有详细的配置说明,在此不赘述,配置完成后编写makefile:

CROSS_COMPILE = arm-linux-gnueabihf-
AS      = $(CROSS_COMPILE)as  
LD      = $(CROSS_COMPILE)ld  
CC      = $(CROSS_COMPILE)gcc  
CPP     = $(CROSS_COMPILE)g++  
AR      = $(CROSS_COMPILE)ar  
NM      = $(CROSS_COMPILE)nm
 

SOURCE_ROOT = $(shell pwd)
 
CFLAGS		:= -Wall -O2 -fno-builtin
CPPFLAGS	:= 
 
INCLUDE_DIR := -I $(SOURCE_ROOT)/ \
	-I$(SOURCE_ROOT)/inc\
	-I$(SOURCE_ROOT)/plugins/file
 
APP_NAME=libeasylogger.so
 

all: $(APP_NAME)
APP_OBJECTC += src/elog.c
APP_OBJECTC += src/elog_async.c
APP_OBJECTC += src/elog_buf.c
APP_OBJECTC += src/elog_utils.c
APP_OBJECTC += port/elog_port.c
APP_OBJECTC += plugins/file/elog_file.c
APP_OBJECTC += plugins/file/elog_file_port.c


STATIC_OBJ_O  = $(patsubst %.c, %.o, $(APP_OBJECTC))
 
STATIC_OBJ_C  = $(foreach file, $(STATIC_OBJ_O), $(file) )
 
$(STATIC_OBJ_C) : %.o:%.c 
	$(CC)  $(INCLUDE_DIR) $(CPPFLAGS) -c  -fPIC $(APP_OBJECTC)

$(APP_NAME): $(STATIC_OBJ_C)	
	$(CC) -shared -o $(APP_NAME) ./*.o
	
clean:
	@rm -f *.o *.so
.PHONY: clean	

将makefile放到工程根目录,执行make,即可在当前目录生成.so文件,将.so文件放到嵌入式系统/usr/lib或者/usr/local/lib目录下,即可在程序中使用easylogger了

初始化:

#include "elog.h"
#include "elog_cfg.h"
#include "elog_file.h"
#include "elog_file_cfg.h"

void easyloggerInit(void)
{
    setbuf(stdout, NULL);
    /* initialize EasyLogger */
    elog_init();
    /* set EasyLogger log format */
    elog_set_fmt(ELOG_LVL_ASSERT, ELOG_FMT_ALL);
    elog_set_fmt(ELOG_LVL_ERROR, ELOG_FMT_LVL | ELOG_FMT_TAG | ELOG_FMT_TIME);
    elog_set_fmt(ELOG_LVL_WARN, ELOG_FMT_LVL | ELOG_FMT_TAG | ELOG_FMT_TIME);
    elog_set_fmt(ELOG_LVL_INFO, ELOG_FMT_LVL | ELOG_FMT_TAG | ELOG_FMT_TIME);
    elog_set_fmt(ELOG_LVL_DEBUG, ELOG_FMT_ALL & ~ELOG_FMT_FUNC);
    elog_set_fmt(ELOG_LVL_VERBOSE, ELOG_FMT_ALL & ~ELOG_FMT_FUNC);
#ifdef ELOG_COLOR_ENABLE
    elog_set_text_color_enabled(true);
#endif
/* start EasyLogger */
    elog_start();
}

log_d("easyLogger debug");

log_i("easyLogger info");

log_w("easyLogger worn");

log_e("easyLogger error");

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值