C++ Debug/Log(史上最简易)

4 篇文章 1 订阅

C++ Debug打印及输出日志

😊💕😁👍🙌🤦‍♀️🤦‍♂️🤷‍♀️🤷‍♂️😜💖😢🎶😎🤞✌👏💋🌹🎉🎂🤳🐱‍👤🐱‍🏍✨😃👀🐱‍🚀🐱‍🚀🐱‍🐉

简易日志输出
#define LOGGING(...) //定义LOGGING宏
LOGGING( "currnet value :%d " ,value) //使用

#define LOGGING(...)                                                           \
  {                                                                            \
    fprintf(stderr, "%s: Line %d:  ", __FILE__, __LINE__);                     \
    fprintf(stderr, __VA_ARGS__);                                              \
    fprintf(stderr, "\n");                                                     \
  }

附带level的log
#define LOGGER_INFO(fmt, args…) LOGGER_INTERNER(“INFO”, fmt, ##args)
#define LOGGER_WARN(fmt, args…) LOGGER_INTERNER(“WARN”, fmt, ##args)
#define LOGGER_FAIT(fmt, args…) LOGGER_INTERNER(“FAIT”, fmt, ##args)

#ifdef DEBUG
#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
#define LOGGER(fmt, args...)                                                   \
  fprintf(stderr, "\033[1;31mTRC_PR(%s:%s:%d):\033[0m" fmt "\n", __FILENAME__, \
          __func__, __LINE__, ##args)
#else
#define LOGGER(fmt, args...)
#endif
#define LOGGER_INTERNER(level, fmt, args...) fprintf(stdout, "[%s]" fmt "\n", level, ##args)

日志文件定制
LOG_ET(fmt::format("ip:{},port:{} ", ip, port))

#include "spdlog/async.h"
#include "spdlog/spdlog.h"
#include "spdlog/sinks/rotating_file_sink.h"
class Logger {
private:
  	Logger() {
   		file_logger = spdlog::rotating_logger_mt<spdlog::async_factory>(
        	"system_info", "log/service.log", 30 * 1024 * 1024, 5);
    	file_logger->set_pattern("%v");
    	file_logger->set_level(spdlog::level::info);
 	}
 	std::shared_ptr<spdlog::logger> file_logger;
public:
  	static Logger Instance() {
    	static Logger log;
    	return log;
  	}
  	spdlog::logger *GetLogger(){
  		return file_logger.get();
 	}

};
#define LOG_ET(format, args...)                                                                    \
  SPDLOG_LOGGER_INFO(Logger::Instance().GetLogger(), format, ##args);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值