找兼职工作在家做哪个网站好,qiniu cloud for wordpress,制作网页要钱,宿州网站推广#x1f60f;★,:.☆(#xffe3;▽#xffe3;)/$:.★ #x1f60f; 这篇文章主要介绍spdlog日志库配置使用。 无专精则不能成#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客#xff0c;一起学习#xff0c;共同进步。 喜欢的朋友可以关注一下#xff0c;下… ★,°:.☆(▽)/$:.°★ 这篇文章主要介绍spdlog日志库配置使用。 无专精则不能成无涉猎则不能通。——梁启超 欢迎来到我的博客一起学习共同进步。 喜欢的朋友可以关注一下下次更新不迷路 文章目录 :smirk:1. 项目介绍:blush:2. 环境配置:satisfied:3. 使用说明 1. 项目介绍
项目Github地址https://github.com/gabime/spdlog
Spdlog 是一个高性能的 C 日志库具有简单易用的 API 和灵活的配置选项。它被设计成易于集成到现有项目中并提供了多种日志记录器loggers、格式化选项和多线程安全的操作。
下面是一些关于 Spdlog 的主要特点和功能 1.简单易用Spdlog 提供简洁的 API使得日志记录变得非常容易。你只需要包含头文件并使用简单的方法调用即可输出日志。 2.多种日志目标Spdlog 支持多种日志目标可以将日志记录到控制台、文件、网络等不同的位置。你可以根据需求选择适合的日志目标。 3.灵活的格式化Spdlog 具有灵活的日志格式化选项可以自定义日志的输出格式。你可以按照自己的需求定义日期、时间、日志级别和其他附加信息的格式。 4.多线程支持Spdlog 在设计上考虑到多线程环境下的安全性可以在多个线程中同时记录日志而无需担心竞争条件。 5.高性能Spdlog 使用异步日志记录方式和高效的写入策略以提供卓越的性能。它可以处理大量的日志消息而不会对应用程序的性能产生显著影响。 6.支持不同的日志级别Spdlog 提供了不同的日志级别如 DEBUG、INFO、WARNING、ERROR 等可以根据需求选择适当的级别进行日志记录以帮助你更好地控制日志输出。 7.集成第三方库Spdlog 可以与其他流行的 C 库和框架集成如 fmtlib、Google Protocol Buffers (protobuf) 等。 8.跨平台支持Spdlog 支持在多个操作系统和编译器上运行包括 Windows、Linux 和 macOS。它可以无缝地在不同平台上提供一致的 API 和功能。 2. 环境配置
下面进行环境配置
# apt安装
sudo apt install libspdlog-dev
# 编译
g -o main main.cpp -lspdlog ./main# cmake配置
cmake_minimum_required(VERSION 3.0)
project(YourProject)find_package(spdlog REQUIRED)add_executable(YourExecutable your_source_files.cpp)
target_link_libraries(YourExecutable PRIVATE spdlog::spdlog)3. 使用说明
下面进行使用分析
最简示例
#include spdlog/spdlog.hint main() {// 设置日志级别为 DEBUGspdlog::set_level(spdlog::level::debug);// 输出不同级别的日志spdlog::debug(This is a debug message);spdlog::info(This is an info message);spdlog::warn(This is a warning message);spdlog::error(This is an error message);return 0;
}设置两个logger分别输出在终端和日志文件中
#include iostream
#include spdlog/spdlog.h
#include spdlog/sinks/basic_file_sink.h
#include spdlog/sinks/stdout_color_sinks.hint main()
{std::cout spdlog start std::endl;// 创建一个名为 logger 的loggerauto console spdlog::stdout_color_mt(logger);// 创建一个名为 logger_2 的loggerauto file spdlog::basic_logger_mt(logger_2, logs/basic-log.txt);// 设置日志级别为 infoconsole-set_level(spdlog::level::debug);file-set_level(spdlog::level::info);// 输出不同级别的日志console-debug(This is debug message);console-info(Welcome to spdlog!);console-error(Some error message with arg{}, 1);file-info(Welcome to spdlog, from a file!);file-error(Some error message with arg{}, 2);std::cout spdlog end std::endl;return 0;
}以上。