linux 日志库调试,log4z日志库使用

文章目录

log4z日志库使用

1 log4z 简介

2 基本使用

2.1 直接使用:

2.2 编译成库进行使用

2.3 基本使用

2.4 log4z的高级用法

3 后记

log4z日志库使用

1 log4z 简介

Log4z是一款开源的轻量级高性能的跨平台日志库 主要针对7*24小时服务器程序的日志输出与跟踪调试,支持64/32位的windows/linux/mac/android/iOS等操作系统.

MIT开源授权 授权的限制非常小.

跨平台支持linux & windows & mac, 轻量级 只有一个头文件和一个cpp文件.

不需要关心创建和销毁等问题 全部自动化.

支持多日志分流,滚动日志记录, 优先级过滤, 多线程安全.

屏显日志彩色输出.

支持格式化形式和流形式输入日志.

可通过配置文件配置并进行配置热更新,也可以不做任何配置直接快速使用.

非常高的吞吐和序列化性能, 针对单线程和多线程下的指令级调优. 80万/sec的复杂类型的日志写入速度,和200万/sec的单一字符串写入速度.

2 基本使用

2.1 直接使用:

log4z日志库非常轻量,只有一个 .h 和 .cpp文件,可以直接编进自己的工程,而不需要添加任何的库文件。

2.2 编译成库进行使用

Windows:

利用源码中的vs工程直接编译即可,本文没有试过

Linux :

cd log4z-master/

mkdir build

cd build/

cmake ../

make

编译后可以相关的目录结构:

.

├── biicode.conf

├── CMakeLists.txt

├── COPYRIGHT

├── doc

│   └── wiki-pic

│   └── log4z_architecture.png

├── g++

│   └── CMakeLists.txt

├── HISTORY

├── lib

│   └── liblog4z.a

├── log4z.cpp

├── log4z.h

├── README.md

├── test // 针对log4相关的测试程序

├── advanced_test.cpp

├── bin

│   ├── advanced_test

│   ├── config.cfg

│   ├── fast_test

│   ├── oem_test_CP1251.txt

│   └── stress_test

├── CMakeLists.txt

├── fast_test.cpp //速度测试

└── stress_test.cpp // 压力测试

2.3 基本使用

#include "log4z.h"

using namespace zsummer::log4z;

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

{

//start log4z

ILog4zManager::getRef().start();

//begin test stream log input....

LOGT("stream input *** " << "LOGT LOGT LOGT LOGT" << " *** ");

LOGD("stream input *** " << "LOGD LOGD LOGD LOGD" << " *** ");

LOGI("stream input *** " << "LOGI LOGI LOGI LOGI" << " *** ");

LOGW("stream input *** " << "LOGW LOGW LOGW LOGW" << " *** ");

LOGE("stream input *** " << "LOGE LOGE LOGE LOGE" << " *** ");

LOGA("stream input *** " << "LOGA LOGA LOGA LOGA" << " *** ");

LOGF("stream input *** " << "LOGF LOGF LOGF LOGF" << " *** ");

// cannot support VC6 or VS2003

//begin test format log input....

LOGFMTT("format input *** %s *** %d ***", "LOGFMTT", 123456);

LOGFMTD("format input *** %s *** %d ***", "LOGFMTD", 123456);

LOGFMTI("format input *** %s *** %d ***", "LOGFMTI", 123456);

LOGFMTW("format input *** %s *** %d ***", "LOGFMTW", 123456);

LOGFMTE("format input *** %s *** %d ***", "LOGFMTE", 123456);

LOGFMTA("format input *** %s *** %d ***", "LOGFMTA", 123456);

LOGFMTF("format input *** %s *** %d ***", "LOGFMTF", 123456);

LOGA("main quit ...");

return 0;

}

2.4 log4z的高级用法

在源码目录中的文件夹中有关于log4z高级用法

stress_test.cpp 对log4z进行压力测试,包括多线程测试,统计日志库的速度

advanced_test.cpp 针对log4z的一些高级用法,采用配置文件,配置日志的记录规则,

stress_test.cpp 针对log4z进行速度测试

3 后记

本文主要参考 log4z相关源码内容特此记录一下,获取地址

GitHub: https://github.com/zsummer/log4z

后续会对log4z进行源码解析。

在使用log4z日志库的同时,也接触了其他的一些日志库工具,比如说c++ 日志库 log4c spdlog,

c语言日志库 zlog 以及vxworks自带的日志库记录工具等,有时间会对其他的日志进行介绍。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值