Log4z是一款开源的轻量级高性能的跨平台日志库 主要针对7*24小时服务器程序的日志输出与跟踪调试,支持64/32位的windows/linux/mac/android/iOS等操作系统.
log4z日志库非常轻量,只有一个 .h 和 .cpp文件,可以直接编进自己的工程,而不需要添加任何的库文件。
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 // 压力测试
#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;
}
在源码目录中的文件夹中有关于log4z高级用法
本文主要参考 log4z相关源码内容特此记录一下,获取地址
GitHub: https://github.com/zsummer/log4z
后续会对log4z进行源码解析。
在使用log4z日志库的同时,也接触了其他的一些日志库工具,比如说c++ 日志库 log4c spdlog,
c语言日志库 zlog 以及vxworks自带的日志库记录工具等,有时间会对其他的日志进行介绍。