LDebug("SimLog::Async message #{0},d_number:{1}", i,d_number); 注:使用{}格式化字符串,里面的数字为占位符*/#defineLTrace(msg,...) SimLog::Instance().GetLogger()->trace(SUFFIX(msg),__VA_ARGS__)#defineLDebug(...) SimLog::Instance
class MyLog { public: static MyLog& GetInstance(); protected: MyLog(); ~MyLog(); private: MyLog(const MyLog& rhs) {} MyLog& operator = (const MyLog& rhs) {} public: /* trace = SPDLOG_LEVEL_TRACE, debug = SPDLOG_LEVEL_DEBUG, info = SPDLOG_LEVEL_INFO, warn = SPDLOG_LEVEL_WARN, e...
如果想要在调用日志输出的地方输出这些信息, 就需要加上这些宏,为了方便,通常的做法是将日志封装成宏函数的形式,进行日志输出。 对于宏,有很多的优点,但是我个人不喜欢宏,调试不友好,只是进行简单的字符串替换,没有语法检查。 如果不使用宏,又没法在程序运行的时候获取需要的信息,因此,问题的关键是如何在非运行期...
用于简化日志记录的操作一些宏,spdlog自带的有日志宏,这里只是简化一下并做隔离,实际上是对spdlog库的相应函数进行了封装。 定义了一个LOGSW()宏,用于方便地创建一个时间统计器,使用时不需要过多的关注统计类本身。 使用方法# 使用方法如下: #include"Log.h"#include<thread>#include<chrono>#include<iostream>int...
封装spdlog库可以提供一个更易于管理和使用的日志系统。以下是一个基于spdlog的封装类的实现步骤,包括类的设计、接口的实现以及使用示例。 1. 了解spdlog库的基本功能和API spdlog是一个高性能的C++日志库,支持多种日志级别(如debug、info、warn、error等),并且支持多种日志输出目标(如控制台、文件等)。它还支持异步...
spdlog日志是纯头文件,使用起来比较方便。使用时只需要简单的初始化即可,这里对其初始化做了一个简单的封装,这样使用起来更加方便。 封装类代码 头文件 cspdlog.h #ifndef _CSPDLOG_H_#define _CSPDLOG_H_#include "spdlog/spdlog.h"#include "spdlog/fmt/bin_to_hex.h"#include <memory>#include <string>...
spdlog日志是纯头文件,使用起来比较方便。使用时只需要简单的初始化即可,这里对其初始化做了一个简单的封装,这样使用起来更加方便。输出到console与输出到文件的级别可以分开设置,并支持动态设置。 fensnote 2021/08/26 9440 Cpp(十二) log日志基本使用spdlog 日志服务 Cpp日志spdlog #1 环境 macOS 10.15.5 spdlog ...
spdlog已经有大神封装了python版本,安装方式 pip install spdlog 使用方式 importdatetimeimportspdlogimportosclassLog:_instance=Nonedef__new__(cls,*args,**kw):ifcls._instanceisNone:cls._instance=object.__new__(cls,*args,**kw)returncls._instancedef__init__(self,logger_name="Pluto"):# Pluto 为...
spdlog单例模式封装 #pragma once #include "Util.h" #ifdef _WIN32 #define __FILENAME__ (strrchr(__FILE__, '\\') ? (strrchr(__FILE__, '\\') + 1):__FILE__) #else #define __FILENAME__ (strrchr(__FILE__, '/') ? (strrchr(__FILE__, '/') + 1):__FILE__)...