log4z日志库使用


文章目录

  • log4z日志库使用
    • 1 log4z 简介
    • 2 基本使用
      • 2.1 直接使用:
      • 2.2 编译成库进行使用
      • 2.3 基本使用
      • 2.4 log4z的高级用法
    • 3 后记

log4z日志库使用 1 log4z 简介 【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自带的日志库记录工具等,有时间会对其他的日志进行介绍。

    推荐阅读