博客
关于我
c++日志工具spdLog
阅读量:398 次
发布时间:2019-03-05

本文共 1873 字,大约阅读时间需要 6 分钟。

spdLog 简单使用示例代码

spdLog 是一款流行的 C++ 日志工具,使用非常简单。以下是基于源码修改的测试代码示例。

#include

#include <spdlog/spdlog.h>#include <spdlog/sinks/stdout_color_sinks.h>

void err_handler_example() {spdlog::set_error_handler([](const std::string &msg) {printf("Custom log error handler, %s\n", msg.c_str());});}

int main(int argc, char argv) {try {// 注册并设置默认错误处理器spdlog::set_default_error_handler([](const std::string &msg) {printf("**** spdlog 错误处理器, %s *****\n", msg.c_str());});

// 创建控制台颜色日志输出器     auto console_sink = std::make_shared
(); console_sink->set_level(spdlog::level::debug); console_sink->set_pattern("%^[%Y-%m-%d %H:%M:%S:%e] [%n] [%t] [%l] %v%$"); // 创建旋转文件日志输出器 auto file_sink = std::make_shared
( "logs/multisink.txt", 1048576, 3 ); file_sink->set_level(spdlog::level::debug); file_sink->set_pattern("[%Y-%m-%d %H:%M:%S:%e] [%n] [%t] [%l] %v"); // 创建日志对象,绑定多个输出器 auto logger = std::make_shared
("multi_sink", begin(sinks), end(sinks)); // 设置默认日志级别 logger->set_level(spdlog::level::debug); // 自定义错误处理器 logger->set_error_handler([](const std::string &msg) { printf("*****Custom log error handler, %s*****\n", msg.c_str()); }); // 测试输出 logger->warn("这条信息应该同时出现在控制台和文件中"); logger->info("这条信息应该只出现在文件中"); // 注册日志器 spdlog::register_logger(logger); // 获取已注册的日志器 auto test_logger = spdlog::get("multi_sink"); test_logger->info("获取日志器成功"); // 测试字符串格式化 std::string msg = "你好,spdlog!"; logger->warn("spdlog: {}", msg); // 创建旋转日志器 auto rotating_logger = spdlog::rotating_logger_mt("log_rotating", "logs/rotating.txt", 256, 2); for (int i = 0; i < 10; ++i) { rotating_logger->info("{} * {} 等于 {:>10}", i, i, i * i); } } catch (const spdlog::spdlog_ex &ex) { std::cerr << "日志初始化失败" << ex.what() << std::endl; }

}

转载地址:http://ahgg.baihongyu.com/

你可能感兴趣的文章
python3爬虫抓取智联招聘职位信息代码
查看>>
Python3爬虫数据入数据库---把爬取到的数据存到数据库,带数据库去重功能
查看>>
python3的 pymysql把mysqldb库取代了,让python 3支持mysqldb的解决方法
查看>>
Python3笔记——IDE的选择
查看>>
python3简单使用requests 用户代理,cookie池
查看>>
Python3组播通信编程实现教程(发送者+接收者)
查看>>
Python3编写网络爬虫10-数据存储方式三-CSV文件存储
查看>>
python3读取redis返回数据带有'b'的问题
查看>>
Python3连接MySQL
查看>>
Python关于isinstance函数的解析 | 附Demo(全)
查看>>
Python3:setup.py:完成所有任务的PIP安装(Build_ext+Install)
查看>>
python4.0 gil_Python 并发编程系列--1、浅谈GIL历史及对多线程的影响
查看>>
python60行绘图程序_天底下最简单的QT画图板,就一个类,60行代码
查看>>
Python: AES加密与解密
查看>>
Python: Range() 最大尺寸;动态的还是静态的?
查看>>
Python: Windows下用 multiprocessing 的深坑
查看>>
python:Could not find platform independent libraries <prefix>解决方法
查看>>
Python:datetime tzinfo 时区名称文档
查看>>
Python:deepcopy(list) vs new_list = old_list[:]
查看>>
Python:Google API - 从消息中获取 mimeTypes
查看>>