1、简单的log打印函数测试

##__VA_ARGS__ 宏前面加上##的作用在于,当可变参数的个数为0时,这里的##起到把前面多余的","去掉的作用,否则会编译出错。

#define MY_PRINTF_NORMAL 0
#define MY_PRINTF_MUST      1
#define MY_PRINTF_ERROR     2
#define MY_PRINTF_DEBUG     3
#define MY_PRINTF_LEVEL     MY_PRINTF_DEBUG#ifdef DEBUG    //调试开关#define log(format, ...) printf("File: "__FILE__", Line: %05d: "format"/n", __LINE__, ##__VA_ARGS__)
#else    #define log(format, ...)
#endif#define log_print(level, ...); {                                       \if(level <= MY_PRINTF_LEVEL){                                  \log(__VA_ARGS__);                                            \//log("error no: %d, error msg : %s", errno, strerror(errno)); \exit(1);                                                     \}                                                                \

2、测试用例

用例1:
log("this is a test , arg is %d \n", a);  //直接打印用例2:
log_print(MY_PRINTF_ERROR,"this is a test , arg is %d \n", a); //根据打印等级,判断是否需要打印

simple log test相关推荐

  1. 简单的总是好的,在这个复杂的世界: java simple log

    这个log软件值得看看,很简单,只有三个class. 半个小时就可以基本学会使用,简单的总是好的,在这个复杂的世界. https://simple-log.dev.java.net/

  2. SLF4J 教程(自由在各种log中切换)

    http://www.blogjava.net/dreamstone/archive/2007/07/09/128993.html 一.介绍: 简单日记门面(simple logging Facade ...

  3. Java日志的心路历程

    大家好,我是头发还很多的阿星 今天来和大家聊聊Java日志体系,Java日志体系可以说是五花八门,眼花缭乱. 导致很多小伙伴因为日志标准库之间复杂的关系而感到烦恼,不知道统一系统的日志标准库需要依赖哪 ...

  4. SLS:海量日志数据管理利器

    原文链接:http://click.aliyun.com/m/13917/ SLS:海量日志数据管理利器 日志是大规模集群管理系统中非常关键的部分,服务器上的各种日志数据(如访问日志.应用日志等)可以 ...

  5. SLF4J log4j 学习笔记一

    SLF4J log4j 一.介绍: 简单日记门面(simple logging Facade for java)SLF4J是为各种loging APIs提供一个简单统一的 接口,从而使得最终用户能够在 ...

  6. slf4j 日志接口 统一

    引用:http://www.blogjava.net/dreamstone/archive/2007/07/09/128993.html 一.介绍: 简单日记门面(simple logging Fac ...

  7. [译]使用 Rust 开发一个简单的 Web 应用,第 4 部分 —— CLI 选项解析

    原文地址:A Simple Web App in Rust, Part 4 -- CLI Option Parsing 原文作者:Joel's Journal 译文出自:掘金翻译计划 本文永久链接:g ...

  8. Nginx命令与配置详解

    1. 控制命令 ./sbin/nginx –t 测试配置是否正确 ./sbin/nginx –s reload 加载最新配置,进程并不重启  ./sbin/nginx –s stop  立即停止   ...

  9. 【CDS技术揭秘系列 02】阿里云CDS-SLS大揭秘

    简介:CDS-SLS 作为云化的日志平台,将组件进行高内聚低耦合,线下用户最低可以在6台规模的机器上将上述所有的功能自动化部署,在运维.运营.财务管理.数据分析报表等大数据场景领域以低代码模式有效解决 ...

最新文章

  1. CSS之布局(行内元素的盒模型)
  2. MySQL存储过程详解
  3. 记录自定义的代码片段位置
  4. Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)
  5. mysql修改表结构权限_mysql 修改表结构操作
  6. 2020云栖大会奖品大盘点(持续更新中)
  7. 简述python的编程规范_python编程规范
  8. android 仿支付宝菜单_这个 Android 几乎放弃的设计,iOS 要用上了?
  9. md5加密后怎么解密_手机怎么解密已加密的PDF?不会还有人不知道这招吧?
  10. 基于Hadoop2.2.0版本号分布式云盘的设计与实现
  11. 计算机组成与结构r形式,计算机组成复习(自己整理的)
  12. SQLSERVER查询存储过程内容
  13. [转载]Shell编程中的数组定义、遍历
  14. 要有多勇敢才敢对回忆念念不忘,还是喜欢流眼泪。学会成长坚强,相互理解而不是责怪。我安静点,我不哭了~...
  15. PortableApps使用入门
  16. adb 命令行导出Android APP数据库.db文件
  17. 156种PS特效动作中文大合集【附高清视频教程】
  18. github100天python_GitHub - jazeyoung/Python-100-Days: Python - 100天从新手到大师
  19. zabbix 5.0所有依赖包_最详细的 Zabbix 使用教程
  20. Axapta multi records selected and operated:多行操作

热门文章

  1. 【数据结构笔记14】微软面试经典 - 逆转链表问题(Reversing Linked List)
  2. 基于Python实现自动慢查询分析,邮件自动发送
  3. 虚拟化--051 vsphere linux搭建NTP服务器搭建
  4. [Silverlight 4 RC]WebBrowser概览
  5. 摘抄和总结--确保搞砸人工智能项目的十种方法
  6. 介绍一下linux下的samba服务
  7. C语言入栈算法,栈的入栈、出栈、获取栈顶的c语言算法
  8. elementui展示多张图片_fabric.js之旅图片
  9. 一个关于超级英雄题材电影剧本的脑洞
  10. oracle-- 文字与格式字符串不匹配