1.gflags
下载和安装
git clone https://github.com/google/gflags.git
cd gflags
mkdir build
cmake ..
make
sudo make install
使用
引用头文件#include “gflags/gflags.h”。
在CMakeList.txt中加入以下行。
# ---[ gflags
include_directories(${LINCLUDE_DIR}/gflags)
link_directories(${LIBRARY_DIR}/gflags)
set(DEMO_LINK_LIBRARYES "")
list(
APPEND
DEMO_LINK_LIBRARYES
gflags)
# --- [ demo
add_executable(main_exe main.cpp)
target_link_libraries(main_exe ${DEMO_LINK_LIBRARYES})
2.glog
下载和安装
git clone https://github.com/google/glog.git
cd glog
mkdir build
cmake ..
make
sudo make install
使用
哪个文件需要写日志,只需要引用头文件#include “glog/logging.h” 即可。
只需要在 main 函数中初始化一次,便可以在该工程中的其他文件中使用!
如果程序是使用 CMake 构建的,那么只要在 CMakeLists.txt 里面加上下面几行配置就可以了:
find_package (glog 0.3.5 REQUIRED)
add_executable (main main.cpp)
target_link_libraries (main glog)
3.demo
#include "glog/logging.h"
#include "gflags/gflags.h"
#include < iostream >
using namespace std;
DEFINE_string(info, "info flag", "is a info");
DEFINE_bool(bool_info, true, "is a bool info");
int main(int argc, char **argv)
{
//glog
// 将生成的日志文件输出到指定路径下
FLAGS_log_dir = "../log/";
google::InitGoogleLogging("");
LOG(INFO) << "hello inuyasha ";
LOG(WARNING) << "hello kokia ";
// 这行语句将会被打印到控制台上,通过 stderr 来控制,也可以通过重定向来修改
LOG(ERROR) <<" hello aimer ";
//gflags
google::ParseCommandLineFlags(&argc, &argv, true);
if(FLAGS_bool_info)
{
cout << FLAGS_info << endl;
cout << FLAGS_bool_info << endl;
}
return 0 ;
}