1.安装方法
1.命令行安装
sudo apt install libspdlog-dev
2.源码安装
git clone https://github.com/gabime/spdlog.git
cd spdlog && mkdir build && cd build
cmake .. && make -j && sudo make install
2.代码示例
#include <iostream>
#include <spdlog/spdlog.h>
#include <spdlog/sinks/stdout_color_sinks.h>
#include <spdlog/sinks/rotating_file_sink.h>
using namespace std;
int main()
{
cout << "Hello World!" << endl;
//打印到终端
auto console = spdlog::stdout_color_mt("console");
//打印到日志文件中
auto max_size = 1024*1024*5; //单个日志文件大小
auto max_files = 3; //最多存几个日志文件
auto logger = spdlog::rotating_logger_mt("spdlog_use", "logs/rotating.txt", max_size, max_files);
spdlog::set_default_logger(logger);
spdlog::set_level(spdlog::level::info);
spdlog::set_pattern("[%Y-%m-%d %H:%M:%S.%e] [%g:%#] [%n:%l] %v");
spdlog::info("Welcom to spdlog!");
//打印变量
SPDLOG_LOGGER_INFO(console, "Support for floats {}", "hello world");
SPDLOG_LOGGER_INFO(logger, "Support for floats {}", "hello world");
//打印数据
SPDLOG_LOGGER_INFO(console, "Support for int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}", 42);
SPDLOG_LOGGER_INFO(logger, "Support for int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}", 42);
//打印浮点数
SPDLOG_LOGGER_INFO(console, "Support for floats {:03.2f}", 1.23456);
SPDLOG_LOGGER_INFO(logger, "Support for floats {:03.2f}", 1.23456);
//打印多个变量
SPDLOG_LOGGER_WARN(console, "Support for floats {1} {0}", "world", "hello");
SPDLOG_LOGGER_WARN(logger, "Support for floats {1} {0}", "world", "hello");
//补位
SPDLOG_LOGGER_ERROR(console, "{:08d}", 12);
SPDLOG_LOGGER_ERROR(logger, "{:08d}", 12);
spdlog::drop("console");
spdlog::drop("logger");
spdlog::shutdown();
return 0;
}
编译: g++ main.cpp -lspdlog
运行效果图:
日志内容: