首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

适合linux下的c日志库

在Linux环境下,适合C语言开发的日志库有多个,其中EasyLogger是一个轻量级且高性能的日志库,非常适合对资源敏感的软件项目,如IoT产品、可穿戴设备、智能家居等。以下是关于EasyLogger的相关信息:

EasyLogger的基础概念

EasyLogger是一个开源的C语言日志库,由GitHub用户armink维护,遵循MIT开源许可协议。它支持多种输出方式,包括终端、文件、数据库等,并且可以在多线程环境中安全地使用。

EasyLogger的优势

  • 轻量级:适合资源受限的环境。
  • 高性能:提供快速的日志记录功能。
  • 多输出支持:用户可以自定义日志的输出目的地。
  • 线程安全:设计考虑了多线程环境下的使用。
  • 异步输出:支持异步记录日志,提高性能。
  • 日志级别:支持按级别记录日志,便于调试。
  • 颜色显示:不同级别的日志可以以不同颜色显示,便于区分。

EasyLogger的应用场景

EasyLogger适用于需要记录详细运行信息,同时对性能有一定要求的Linux应用程序。它特别适合于嵌入式系统和物联网设备,其中资源有限,需要对日志记录进行精细控制。

EasyLogger的使用示例

代码语言:txt
复制
#include<elog.h>
#defineLOG_TAG"main"

staticvoidtest_elog(void){
    elog_init();
    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);
    elog_set_text_color_enabled(true);
    elog_start();
    log_a("Hello EasyLogger!");
    log_e("Hello EasyLogger!");
    log_w("Hello EasyLogger!");
    log_i("Hello EasyLogger!");
    log_d("Hello EasyLogger!");
    log_v("Hello EasyLogger!");
}

intmain(void){
    test_elog();
    return0;
}[](@ref)

通过上述信息,您可以看到EasyLogger不仅功能丰富,而且设计考虑到了资源限制和性能优化,是一个非常适合Linux环境下C语言开发的日志库。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux 下 4 种实时监控日志文件的方法,总有一种适合你

点击▲关注 “cu技术社区”给公众号置顶 更多精彩 第一时间直达 来源:GitHub 链接:http://t.cn/AiKIk7c3 在 Linux 下如何才能实时查看日志内容呢?...通常 Linux 服务器上的日志都是轮转日志。这种情况下,你需要用 -F 参数。...tail -F 会监控是否创建了新日志(所谓新日志指的是同一个名字,但是 fd 不一样的日志文件),并且会转而显示新日志的内容,而不是老文件的内容。...4. less Command – Display Real Time Output of Log Files 最后你可以用 less 命令 查看日志文件,然后按下 Shift+F 也能实时查看日志内容...跟 tail 一样, 在 less 中按下 Shift+F 会追踪文件末尾的内容。你也可以在调用 less 命令时就加上 +F 参数。

1.4K20
  • 嵌入式linux下的c语言日志log模块,功能增强(二)

    现场遇到问题了,只要网络不是问题,就都不是问题,这日志组件可由运维人员去触发机器一下,或让客户手工摁一下,机器主动ftp上去一个日志文件。...8.可以由运维人员去简单的触发一下,就把终端的日志通过网络传上去,不用再去找线,不用再去找U盘,不用再去想法把日志拷贝出来再带回电脑上发给开发人员。...OK,按着这个思想,以下是一个实现,c语言的log模块: 至于FTP部分,文件压缩为zip部分,用go来写,更容易。这也就是为啥用go来开发嵌入式很合适。要是让你用c写一个ftp,你试试?...这就体现了用go开发嵌入式linux的强大之处。用go,简短的几行代码就ok了。且在终端上跑的很溜。 /** 日志打印示例。...,只在gcc(C语言)生效, // g++的c++版本编译不通过 static const char* s_loginfo[] = { [ERROR] = "ERROR", [WARN]

    4.4K31

    Linux下的静态库与动态库

    1.什么是库 在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。...由于windows和linux的本质不同,因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。 2.库的种类 linux下的库有两种:静态库和共享库(动态库)。...4.库文件是如何产生的在linux下 静态库的后缀是.a,它的产生分两步 Step 1.由源文件编译生成一堆.o,每个.o里都包含这个编译单元的符号表 Step 2.ar命令将很多.o转换成.a,成文静态库...例如: $ gcc -fPIC -c *.c $ gcc -shared -Wl,-soname, libfoo.so.1 -o libfoo.so.1.0 *. 5.库文件是如何命名的,有没有什么规范...在linux下,库文件一般放在/usr/lib /lib下, 静态库的名字一般为libxxxx.a,其中xxxx是该lib的名称 动态库的名字一般为libxxxx.so.major.minor,xxxx

    9610

    linux下的C语言开发

    大家好,又见面了,我是全栈君 在很多人的眼里,C语言和linux常常是分不开的。这其中的原因很多,其中最重要的一部分我认为是linux本身就是C语言的杰出作品。...当然,linux操作系统本身对C语言的支持也是相当到位的。...作为一个真正的程序员来说,如果没有在linux下面用C语言编写过完整的程序,那么只能说他对C语言本身的理解还相关肤浅,对系统本身的认识也不够到位。...工具 (3)丰富的自动编译工具,主要是make工具 (4)多样化的os选择,ubuntu、redflag等等 (5)浩瀚的开源代码库 当然,不管我怎么说,最终朋友们还是应该自己勇敢地跨出前进的第一步...如果还没有过Linux编程经验的朋友可以首先在自己的pc上面安装一个虚拟机,然后就可以在shell下面编写自己的C语言代码了。

    5.9K30

    Linux下日志文件过大的解决方案

    往往会想到,对日志文件切分,这样可以留下重要的日志,而删掉不必要的日志。下面就来详细介绍这种方法。 我们可以每天都进行切分日志的操作,那要这样的话,为了避免混淆,我们切分出来的日志都应该带上日期。...当然日期我们可以通过以下语句获取: >current_date=`date -d "-1 day" "+%Y%m%d"` date -d "-1 day"表示获取前一天的日期,就是说我们今天操作的话是切割昨天的日志.../log/log${current_date}就是切割后日志文件的前缀,里面就带入了当前日期。所以,最终的输出格式类似于:log_20181005_0001。...日志文件切割完之后,就可以将日志文件删除了,否则就失去切割文件的意义了。...删除的方法可以用以下方式: >cat /dev/null > nohup.out 将以上这些命令写在一个脚本里,每天运行它,就可以将日志文件切割成若干份,便于我们排查。完整的代码如下: >#!

    1.6K10

    几款Linux下的日志书写工具

    最近将工作环境切换到了Ubuntu 10.04 下,非常怀念原来的 Liver Writer,于是Google了一下,找找看Linux下是否有同样出色的离线博客编辑工具,下面是整理的一些结果,分享出来。...对Linux下的用户而言,富文本的编辑器选择确实比较少,但也并不是没有,下面就是几款比较好用的编辑器。...笔者的Ubuntu下,使用Package Manager搜索Blog,第一个结果就是,选中后点击应用,就可以装好了。 ...6、Thingamablog 这款软件可以说是Linux下特性最丰富的软件了,甚至支持浏览器样式的预览。...6、 Thingmablog Thingmablog可以说是特性最多的Linux客户端工具了,看看他那长长的特性列表都觉得很爽,可惜还没有详细的使用。

    1.2K20

    Linux下Tomcat开启查看GC日志

    一、开启GC日志 1、在Tomcat 的安装路径下,找到bin/catalina.sh 加上下面的配置,具体参数,自己配置: [root@CentOS7 tomcat]# vim bin/catalina.sh...~ 二、GC日志分析 GC 日志分析,需使用windows 的GC日志分析工具gchisto; gchisto 工具的源下载地址已经失效,我已经存放在网盘https://pan.baidu.com/s/...qq-pf-to=pcqq.c2c,需要的私聊我 1、windows 安装java 环境 (1)去官网下载自己想要的JDK版本 http://www.Oracle.com/technetwork/java....jar (2)打开后效果 (3)分析Tomcat 的gc 日志 ① 将linux 下的tomcat 日志sz 到windows 上; ② 导入gchisto中; ③ 查看效果 三、选项参数详解 1...但是,也无法使用多处理器的优势,所以此收集器适合单处理器机器。当然,此收集器也可以用在小数据量(100M左右)情况下的多处理器机器上。可以使用-XX:+UseSerialGC打开。

    20.9K50

    【Go 语言社区】linux 下Go服务器部署(也同样适合C++等)

    作为服务器开发人员,GO语言内网测试数据及调试肯定很简单,如果你在Windows下开发 直接编成EXE执行就可以,然后部署外网在打包成linux的执行文件(交叉编译);但是对于在Linux下部署,也是后台我们开发人员必须掌握的技术...很简答,看下就会了: 假如我们打算开启大厅服务器,执行文件的名字:HallServer 以下脚本和文件是部署的组合 -----------------------------------------...------------------------------------ mod.txt存执行文件的名字 HallServer -------------------------------------...------------------------------------------------------------------------ start_all.sh文件内容: ulimit -c...unlimited # sudo sysctl -w kernel.shmmax=4000000000 OLDPWD=`pwd` while read d c do cd .

    87180
    领券