在c/c++中输入彩色日志输出,带有带有颜色的打印

在c/c++中输入彩色日志输出,带有带有颜色的打印

#ifndef __PTINTCOLOR_H
#define __PTINTCOLOR_H

#include

#ifndef LOG_DBG

//颜色宏定义
#define NONE         "\033[m"
#define RED          "\033[0;32;31m"
#define LIGHT_RED    "\033[1;31m"
#define GREEN        "\033[0;32;32m"
#define LIGHT_GREEN  "\033[1;32m"
#define BLUE         "\033[0;32;34m"
#define LIGHT_BLUE   "\033[1;34m"
#define DARY_GRAY    "\033[1;30m"
#define CYAN         "\033[0;36m"
#define LIGHT_CYAN   "\033[1;36m"
#define PURPLE       "\033[0;35m"
#define LIGHT_PURPLE "\033[1;35m"
#define BROWN        "\033[0;33m"
#define YELLOW       "\033[1;33m"
#define LIGHT_GRAY   "\033[0;37m"
#define WHITE        "\033[1;37m"

#define LOG_DBG(...)  do{printf(DARY_GRAY "[log D]%s#%d: " NONE, __FILE__,__LINE__); printf(__VA_ARGS__);}while(0)
#define LOG_INFO(...) do{printf(    GREEN "[log I]%s#%d: " NONE, __FILE__,__LINE__); printf(__VA_ARGS__);}while(0)
#define LOG_WARN(...) do{printf(   YELLOW "[log W]%s#%d: " NONE, __FILE__,__LINE__); printf(__VA_ARGS__);}while(0)
#define LOG_ERR(...)  do{printf(LIGHT_RED "[log E]%s#%d: " NONE, __FILE__,__LINE__); printf(__VA_ARGS__);}while(0)

#endif

#endif

输出结果

在c/c++中输入彩色日志输出,带有带有颜色的打印

更多编程资料见公众号 xutopia77

在c/c++中输入彩色日志输出,带有带有颜色的打印

Original: https://www.cnblogs.com/xutopia/p/15820428.html
Author: xutopia
Title: 在c/c++中输入彩色日志输出,带有带有颜色的打印

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/613115/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 简单易用的任务队列-beanstalkd

    概述 beanstalkd 是一个简单快速的分布式工作队列系统,协议基于 ASCII 编码运行在 TCP 上。其最初设计的目的是通过后台异步执行耗时任务的方式降低高容量 Web 应…

    Linux 2023年6月7日
    095
  • Kubernetes服务发现之Service详解

    一、引子 Kubernetes Pod 是有生命周期的,它们可以被创建,也可以被销毁,然后一旦被销毁生命就永远结束。通过 ReplicationController 能够动态地创建…

    Linux 2023年6月14日
    090
  • git 那些事儿 —— 基于 Learn Git Branching

    推荐一个 git 图形化教学网站:Learn Git Branching,这个网站有一个沙盒可以直接在上面模拟 git 的各种操作,操作效果使用图形的方式展示,非常直观。本文可以看…

    Linux 2023年5月27日
    0119
  • Redis采用不同内存分配器碎片率对比

    我们知道Redis并没有自己实现内存池,没有在标准的系统内存分配器上再加上自己的东西。所以系统内存分配器的性能及碎片率会对Redis造成一些性能上的影响。在Redis的 zmall…

    Linux 2023年5月28日
    080
  • springboot mybatis层整合

    1、导入Mybatis包 使用maven 2、配置数据库连接 注意:classpath后不需要加 / 3、测试 4、建立实体类,可使用Lombok来简化 5、 创建mapper目录…

    Linux 2023年6月14日
    079
  • Sublime快捷键大全

    Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所有打开文件Ctrl+Sh…

    Linux 2023年6月13日
    071
  • Java基础 String

    String类 字符串是一个特殊的对象。 字符串一旦初始化就不可以被改变。 String s="abc"; 特点: String构造函数 主要几个String构…

    Linux 2023年6月14日
    0125
  • CAP 5.1 版本发布通告 你期待的 Redis 来了

    前言 今天,我们很高兴宣布 CAP 发布 5.1 版本正式版,在这个版本里我们同样引入了更多令人激动的新特性和改进,同时也得到越来越多人的喜爱。 得益于社区的反馈和贡献者的支持,在…

    Linux 2023年5月28日
    097
  • 雷霆传奇H5光柱版游戏详细图文架设教程

    前言 想体验经典传奇的热血PK吗?想体验满级VIP的尊贵吗?想体验一刀99999的爽快吗?各种极品炫酷时装、坐骑、翅膀、宠物通通给你,就在光柱版雷霆传奇H5! 本文讲解雷霆传奇架设…

    Linux 2023年6月7日
    0131
  • 如何入行软件开发——常见问题及岗位分工

    —— 你以为我每天上班就是为了几个臭钱么!? —— 是的,你说对了…… IT是一个有些让业外同行羡慕嫉妒恨的行业,统计数据来说平均薪资应当是仅次于金融行业的…

    Linux 2023年6月13日
    088
  • 【转】redis 消息队列发布订阅模式spring boot实现

    /*redis 消息处理器/ @Component public class MessageReceiver { /*接收消息的方法/ public void receiveMes…

    Linux 2023年5月28日
    093
  • 操作系统实战45讲笔记 -06 程序中的地址如何转换

    每个应用程序的虚拟地址空间都是相同且独立的。 虚拟地址是由链接器产生的。开发软件经过编译步骤后,就需要链接成可执行文件才可以运行,而链接器的主要工作就是把多个代码模块组装在一起,并…

    Linux 2023年6月7日
    0109
  • 三少玩Linux之LinuxMint, win7共存安装与简单配置

    先安装win7, 这里就不说了;再安装Mint, 这个是视频:https://www.bilibili.com/video/BV1AE411P7Cz; 这里关键就是LinuxMin…

    Linux 2023年6月14日
    0101
  • exec

    exec 函数 exec()函数通过运行其他程序来替换当前进程。 新程序启动后PID和老程序一样,就像两个程序接力跑,你的程序把进程交接给了新程序。 exec函数众多,可以分为两种…

    Linux 2023年6月7日
    089
  • 个人学习-Linux文件系统架构

    个人学习-Linux文件系统架构 1. 参考文章 [1] https://blog.csdn.net/Holy_666/article/details/86532671 [2]CS…

    Linux 2023年6月6日
    093
  • 干货速看!同行盆友来稿:一文带你搭建K8S高可用集群,以及在上面搭建Prometheus和Grafana。

    写在开篇 kubeadm工具快速部署k8s集群实现故障自动发现、转移及修复,集群中部署prometheus+grafan可实现自动收集集群的各项新性能指标数据,可视化界面提升客户对…

    Linux 2023年6月7日
    084
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球