zlog移植

移植zlog开发日志。

  • zlog的下载、编译与安装

git clone https://github.com/HardySimpson/zlog.git //下载源码包

cd zlog //进入工程目录

mkdir build_linux build_arm //创建文件夹用于存放工程输出内容

vim src/makefile //修改makefile中的PREFIX为自己创建的目录build_arm,如下所示, 

# Installation related variables

 PREFIX?=../build_arm

INCLUDE_PATH=include

LIBRARY_PATH=lib

BINARY_PATH=bin

INSTALL_INCLUDE_PATH= $(PREFIX)/$(INCLUDE_PATH)

INSTALL_LIBRARY_PATH= $(PREFIX)/$(LIBRARY_PATH)

INSTALL_BINARY_PATH= $(PREFIX)/$(BINARY_PATH)

make //默认gcc编译,若需要交叉编译指定编译工具链即可:make CC=arm-linux-xxx-gcc

在该处可能存在交叉编译失败的情况,暂时未找到原因,可以使用自动配置版本编译。

make install //将生成的库和工具拷贝至自己创建的目录

自动配置版本https://github.com/bmanojlovic/zlog

cd zlog //进入工程目录

chmod +x autogen.sh

./autogen.sh

如果出现不能识别的函数错误,或报"Syntax error: "(" unexpected 的错误,请取消dash:

    dpkg-reconfigure dash

选择  no ;然后再执行:./autogen.sh

CC=arm-linux-gnueabihf-gcc ./configure --prefix=/opt/embedded/zlog --host=arm-linux-gnueabihf

执行:make

    可能会出现以下错误:

    ./.libs/libzlog.so: undefined reference to `rpl_realloc'

    这时,我们要改 makefile 文件,cd 到 src 文件下,修改 makefile:将 rpl_realloc 替换为 realloc,保存,执行:

    make clean

    make

    make install

  • zlog的使用

#include "../includess/zlog.h" 

int main(int argc, char *argv[])

{

int rc; rc = dzlog_init("/etc/zlog.conf", "my_class");

//指定配置文件路径及类型名 初始化zlog

if (rc)

{

printf("init failed\n");

return -1;

}

dzlog_info("hello, zlog info"); //打印普通信息

dzlog_error("hello, zlog error");//打印错误信息

dzlog_warn("hello, zlog warning"); //打印报警信息

dzlog_debug("hello, zlog debug"); //打印调试信息

zlog_fini(); //释放zlog

}

  • zlog的配置

[global]

strict init = true

buffer min = 1024

buffer max = 2MB

rotate lock file = /tmp/zlog.lock

default format = "%d.%us %-6V (%c:%F:%L) - %m%n"

file perms = 600

[rules]

my_class.* >stdout;

my_class.* "/xxx/xxx/log.txt", 1M;

通过zlog-chk-conf对zlog.conf进行语法检查,没有报错如下

#./zlog-chk-conf /etc/zlog.conf 

--[/etc/zlog.conf] syntax right

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值