spdlog 快速的 C++ 日志库

开源网站开源项目 24-04-14 17:31:25

spdlog 是一个快速的 C++ 日志库,只包含头文件,兼容 C++11。

特性:

非常快

只包含头文件

无需依赖第三方库

支持跨平台 - Linux / Windows on 32/64 bits

支持多线程

可对日志文件进行循环输出

可每日生成日志文件

支持控制台日志输出

可选的异步日志

支持日志输出级别

可自定义日志格式

示例代码:

#include<iostream>#include"spdlog/spdlog.h"intmain(int,char*[]){namespacespd=spdlog;try{std::stringfilename="spdlog_example";autoconsole=spd::stdout_logger_mt("console");console->info("Welcometospdlog!");console->info()<<"Creatingfile"<<filename<<"..";autofile_logger=spd::rotating_logger_mt("file_logger",filename,1024*1024*5,3);file_logger->info("Logfilemessagenumber",1);for(inti=0;i<100;++i){autosquare=i*i;file_logger->info()<<i<<'*'<<i<<'='<<square<<"("<<"0x"<<std::hex<<square<<")";}//Changelogleveltoallloggerstowarningandabovespd::set_level(spd::level::WARN);console->info("Thisshouldnotbedisplayed");console->warn("Thisshould!");spd::set_level(spd::level::INFO);//Changeformatpatterntoallloggersspd::set_pattern("****%Y-%m-%d%H:%M:%S.%e%l****%v");spd::get("console")->info("Thisisanothermessagewithdifferentformat");}catch(constspd::spdlog_ex&ex){std::cout<<"Logfailed:"<<ex.what()<<std::endl;}return0;}
[spdlog 快速的 C++ 日志库]相关推荐

Yoke Postgres 高可用集群

Yoke 是 Postgres 的高可用集群,具有自动切换和自动集群恢复。Postgres冗余/自动故障转移解决方案,提供……...

Noir Clojure 的 Web 框架

noir 是 Clojure 语言的 Web 框架,是个微型 Clojure 框架,可以帮助用户快速搭建网站。 代码示例: (nsm……...

BusyBox Unix常用工具包

BusyBox Unix常用工具包

BusyBox 是一个集成了一百多个最常用 linux 命令和工具的软件。BusyBox 包含了一些简单的工具,例如 ls……...

Tiled 2D 游戏地图编辑器

Tiled 2D 游戏地图编辑器

Tiled 是一款 2D 关卡编辑器,风格类似 mini 版的 photoshop,简单易用,基于 Apache/BSD/GPL 等多重许可……...

Arora 轻量级浏览器

Arora 轻量级浏览器

Arora是一款基于WebKit和Qt的轻量级浏览器。因为使用了QtWebKit,它可以运行在所有支持QT的平台上,如嵌……...

今日开源
  1. Terminus 更现代化的终端

    Terminus 更现代化的终端

    Terminus 是一个高度可配置的终端模拟器,适用于 Windows、macOS 和 Linux 主题和配色方案 完全可配置的快捷方式 拆分窗格 标签记忆 支持 PowerShell(和 PS Core)、WSL、Git-Bash、Cygwin、Cmder 和 CMD 集成的……

    开源软件 2024-05-17

  2. Electron 跨平台桌面应用开发工具

    Electron 跨平台桌面应用开发工具

    Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面应用程序。它基于 Node.js 和 Chromium,被 Atom 编辑器和许多其他应用程序使用。 Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用……

    开源软件 2024-05-17

  3. CAF C++ actor 模型框架

    CAF —— C++ actor 模型框架,借鉴了 erlang 和 akka 的actor思想。使用C++现代编程规模实现。特点是:轻量级、分布式、简单、可适应以及无锁。 下载和构建: gitclonehttps://github.com/actor-framework/actor-fr……

    开源软件 2024-05-17

返回顶部小火箭