话不多说,直接上代码:

#ifndef _LOG_H#define _LOG_H#include <stdio.h>/*打印信息的显示颜色*/
#define HL_RED          "\033[1;31m"              //高亮红色
#define HL_YEL          "\033[1;33m"              //高亮黄色
#define HL_GREEN        "\033[1;32m"                //高亮绿色
#define NONE_COLOR      "\033[0m"                   //清除颜色
/*** @enum* log的级别。 */
enum {LOG_LEVEL_D = 0, //debugLOG_LEVEL_I, //infoLOG_LEVEL_W, //warningLOG_LEVEL_E, //errorLOG_LEVEL_OFF, //off
} ;static const int log_level = LOG_LEVEL_D;#define my_log_error(fmt, args ...) \
do \
{ \if(log_level <= LOG_LEVEL_E)  \fprintf(stderr,HL_RED " error  (%s|%d): " **NONE_COLOR** \fmt, __func__, __LINE__, ## args); \
} \
while(0)#define my_log_warn(fmt, args ...) \
do \
{ \if(log_level <= LOG_LEVEL_W) \fprintf(stderr,HL_YEL "warning  (%s|%d): " **NONE_COLOR** \fmt, __func__, __LINE__, ## args); \
} \
while(0)#define my_log_info(fmt, args ...) \
do \
{ \if(log_level <= LOG_LEVEL_I) \fprintf(stderr,HL_GREEN "  (%s|%d): " **NONE_COLOR**\fmt, __func__, __LINE__, ## args); \
} \
while(0)#define my_log_debug(fmt, args ...) \
do \
{ \if(log_level <= LOG_LEVEL_D) \fprintf(stderr, "  (%s|%d): " \fmt, __func__, __LINE__, ## args); \
} \
while(0)#endif/*_LOG_H*/

备注:
1、需要打印的地方包含本头文件即可;
2、设置log的级别有利于区分调试代码后release代码,release时,可以将log级别设置为error级别或者warning级别;
3、之所有使用fprintf,是可以将打印重定向到文件保存起来,如果使用printf的话就只能输出到屏幕;
4、这个打印具有很大的扩展性,比如可以在fprintf里面加上打印系统时间等
5、打印信息的显示颜色值可以网上查一下,还有其他好多颜色可以设置;如果在windows环境下打印,有可能看不到打印的颜色,需要将串口打印工具设置一下,仿真终端设置成“Linux”
6、关于printf输出设置颜色更多的样式(闪烁、字体加粗等)请参考下面链接文章的设置方法:https://blog.csdn.net/u013177084/article/details/79553872

log日志:如何设置log级别、打印字体的颜色相关推荐

  1. python不同颜色的代码_python日志通过不同的等级打印不同的颜色(示例代码)

    1,不用第三方库 # coding: utf-8 import logging BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = rang ...

  2. PyQT5 (四十三) 在 QTableWidget 表格中设置单元格的字体和颜色 的案例

    在 QTableWidget 表格中设置单元格的字体和颜色 的案例 import sysfrom PyQt5 import QtPrintSupport, QtGui from PyQt5.QtCor ...

  3. python log日志_Python的log日志功能及设置方法

    引入:Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍 一.日志级别(从低到高): DEBUG :详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期 ...

  4. 设置a标签链接字体的颜色

    页面代码: <div class="mybtn14_3"> <a href="view/business/tasksTypeAdd.jsp"& ...

  5. MFC操作——设置静态文本 大小 字体格式 颜色

    一.设置静态文本 大小 字体 颜色 1.首先,在对话框上添加一个Static控件,关联一个控制变量m_static(不是Value,是Control) 2.声明变量 private: CFont m_ ...

  6. C# Winform中RichTextBox如何设置文本某段字体的颜色

    C# Winform 中 RichTextBox如何设置文本某段字体颜色 一.在使用处新增代码 想要更改Text文本中某段需要特殊标注字体的颜色,使用TextBox是很难做到的,因为TextBox支持 ...

  7. linux清除log日志,linux清除log日志

    1.删除文件命令:find  对应目录  命令选项 实例命令 find /export/Logs/ -type f -name "*log*" -mtime +3 -exec rm ...

  8. linux中写入log日志,Linux往log中写日志

    void writelog(const char* log) { time_t tDate; struct tm* eventTime; time(&tDate);//得到系统当前时间 //将 ...

  9. 在VS中设置比较和谐的字体和颜色的方法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 先在studiostyl.es网站选择你喜欢的字体方案,我个人比较喜欢这款: Humane Studio,注意在网页上 ...

最新文章

  1. 我是如何一步步让公司的MySQL支撑亿级流量的?
  2. 第8章 Iptables与Firewalld防火墙
  3. golang 数据库null值错误 解决方法
  4. python Pandas SettingwithCopy 警告解决方案
  5. [XSY3383]多线程(笛卡尔树,DP)
  6. 知识分享:值得学习的C语言经典开源项目
  7. [转]linux之top命令
  8. Andriod Studio两种签名机制V1和V2的区别
  9. 关于#include头文件问题
  10. 无法启动windows audio服务,错误提示126.
  11. 一文读懂质量保证和质量控制
  12. 实战 Firefox 扩展开发
  13. 【html】表格table与表单form
  14. 数字图像空间域 频域
  15. html中图片一角的卷起效果,CSS3实现图片折角效果例子
  16. Window.iso镜像文件下载
  17. [生存志] 第55节 吴公子札巡访中原
  18. 微信公众号自动回复服务器数据,[终极方案]解决微信公众号服务器配置启用后无法自动回...
  19. docker部署Tailscale的节点中继derper 纯 IP 无需域名
  20. vue如何给页面截图

热门文章

  1. Java基础学习(二十七)之IO流
  2. 小米笔记本Pro ubuntu 18.04安装显卡驱动
  3. ROS学习小笔记(Topic通信 ,service通信,参数服务器)
  4. Codeforces Round #550 (Div. 3) C.Two Shuffled Sequences
  5. python创建person类用printinfo方法_python学习(三)面向对象
  6. 正则匹配英文括号( 中文括号【 里面的内容 封装工具类
  7. ListNode的理解
  8. ENSP实验七——RIP的基本配置
  9. 【NOIP2014】生活大爆炸版石头剪刀布
  10. Laravel框架使用maatwebsite/excel导出自动换行