本帖最后由 感冒不喝水 于 2025-12-7 21:49 编辑
zlog 的主要优点:
- · 高性能:C 语言编写,效率很高,对资源占用少。
- · 低依赖:不依赖其他库,编译简单,非常适合资源受限的嵌入式环境。
- · 灵活配置:通过配置文件可以轻松控制日志级别、输出格式、输出文件(支持按大小、时间自动切分、轮转)等。
- · 线程安全:可以在多线程环境中安全使用。
最推荐的方法是 交叉编译,在x86_64 主机上为 aarch64的开发板编译 zlog,然后将编译好的库和可执行文件部署到开发板上。
步骤 1:准备交叉编译环境,参考帖子 【米尔瑞萨RZ/G2L开发板-试用体验】安装交叉编译器 https://bbs.myir-tech.com/thread-8662-1-1.html (出处: 米尔科技论坛)
zlog1.2.18 使用cmake构建,所以还需要在开发主机安装cmake 1. 步骤 2: - tar -xvf 1.2.18.tar.gz
- cd zlog-1.2.18<span style="background-color: rgb(246, 247, 249); font-family: Consolas; font-size: 10.5pt; color: rgb(26, 32, 41);"> </span>
复制代码 2、编译和安装 - mkdir build
- cd build
-
- cmake .. -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_INSTALL_PREFIX=~/zlog_aarch64_install
复制代码- 告诉 CMake 去处理上级目录(..)的 CMakeLists.txt。
- * -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc:关键参数,指定 C 语言编译器为我们的交叉编译器。
- * -DCMAKE_INSTALL_PREFIX=~/zlog_aarch64_install:强烈推荐,指定一个安装目录。这样编译出的库和头文件就会被安装到这个目录,方便后续查找和部署,而不会污染你的系统。
3、编译和安装 - make -j$(nproc) # -j$(nproc) 会使用你所有可用的CPU核心来加速编译
- make install
复制代码 编译成功后,你会在 ~/zlog_aarch64_install 目录下找到 include, lib 等文件夹。
步骤3:部署到开发板并测试 1、传输文件到开发板 你 需要将 zlog 的库文件和测试程序一起传到开发板上。 可以使用U盘或SD卡将~/zlog_install/lib/libzlog.so*相关文件复制到 /usr/lib64/文件夹下 2、创建一个简单的测试程序
- #include <stdio.h>
- #include "zlog.h"
- int main(int argc, char **argv)
- {
- int rc;
- zlog_category_t *zc;
- rc = zlog_init("test_hello.conf");
- if (rc)
- {
- printf("init failed\n");
- return -1;
- }
- zc = zlog_get_category("my_cat");
- if (!zc)
- {
- printf("get cat fail\n");
- zlog_fini();
- return -2;
- }
- zlog_info(zc, "hello, zlog");
- zlog_fini();
- return 0;
- }
复制代码 3、创建 zlog 配置文件 test_zlog.conf
- [global]
- strict init = false
- buffer min = 1024
- buffer max = 2MB
- [formats]
- simple = "%d(%Y-%m-%d %H:%M:%S.).%us %V [%p:%F:%L] - %m%n"
- [rules]
- *.*.INFO "./logs/%d(%Y_%m_%d).log", 1MB; simple
- *.*.INFO >stdout; simple
复制代码 4、交叉编译测试程序 - aarch64-linux-gnu-gcc test_zlog.c -o test_zlog_app -I~/zlog_install/include -L~/zlog_install/lib -lzlog
复制代码
- -I...:指定 zlog 头文件路径。
- -L...:指定 zlog 库文件路径。
- -lzlog:链接 zlog 库。
5、将测试程序和配置文件传到开发板 执行应用程序会发现对应日志信息输出!!!
|