C/C++日志的日常使用

      作为一名学习程序的学生,在学习中编写过的代码、程序,没有日志功能,刚开始的时候,完全不知道日志的使用有什么意义,感觉特别鸡肋,出现问题,我自己调试一下完全都可以解决的事情,为什么要通过日志来输出。直到后来,才觉得以前的自己好 xx(你懂得)。最近写了一个注入的程序,你将Dll注入目标程序,你完全不能调试你的代码,更何况你想去修改你的代码,简直异想天开。在解决检查获取的来数据是否有效的时候,我想了很多种方法,但最后也觉得就是用日志输出,才是最方便的。

    我在网上也找了好多方法,这里我就提供一个开源项目的日志使用方法。

Easylogging++

 

这是一个开源的项目,使用也很简单,目前只学习了简单的使用,其他的更高级的使用方式,还尚未了解到。

下面是个简单的使用例子。

  • 包含easylogging++.h头文件
  • 使用宏 INITIALIZE_EASYLOGGINGPP 初始化
  • 使用宏 LOG(INFO) 开始日志记录
// SubTest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include<Windows.h>
#include<iostream>
#include<tchar.h>
#include"..\\log\easylogging++.h"


INITIALIZE_EASYLOGGINGPP

void _tmain(int argc, TCHAR* argv[], TCHAR* envp[])

{


	LOG(TRACE) << "********** trace log  ";
	LOG(DEBUG) << "********** debug log ";
	LOG(ERROR) << "********** error log  ";
	LOG(WARNING) << "********** warning log  ";
	LOG(INFO) << "********** info log  ";

	system("pause");

	

}

这是控制台输出的情况: 

2020-05-12 16:24:24,316 INFO [default] My first info log using default logger
2020-05-12 16:24:24,318 TRACE [default] [int __cdecl wmain(int,wchar_t *[],wchar_t *[])] [m:\test\subtest\subtest.cpp:23] ********** trace log
2020-05-12 16:24:24,319 DEBUG [default] [DELL@MATTHEW] [int __cdecl wmain(int,wchar_t *[],wchar_t *[])] [m:\test\subtest\subtest.cpp:24] ********** debug log
2020-05-12 16:24:24,319 ERROR [default] ********** error log
2020-05-12 16:24:24,320 WARNING [default] ********** warning log
2020-05-12 16:24:24,320 INFO [default] ********** info log
请按任意键继续. . .

这是日志输出情况:  

这个开源库,也支持自定义的格式。

  log.conf 是自己在目录下创建的一个文件。

// SubTest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include<Windows.h>
#include<iostream>
#include<tchar.h>
#include"..\\log\easylogging++.h"

INITIALIZE_EASYLOGGINGPP

void _tmain(int argc, TCHAR* argv[], TCHAR* envp[])

{

    el::Configurations conf("log.conf");
	el::Loggers::reconfigureAllLoggers(conf);
	

	LOG(INFO) << "My first info log using default logger";
	LOG(TRACE) << "********** trace log  ";
	LOG(DEBUG) << "********** debug log ";
	LOG(ERROR) << "********** error log  ";
	LOG(WARNING) << "********** warning log  ";
	LOG(INFO) << "********** info log  ";

	system("pause");

}

 

这是控制台输出的情况:

2020-05-12 16:27:39,267 INFO [default] My first info log using default logger
2020-05-12 16:27:39,269 TRACE [default] ********** trace log
2020-05-12 16:27:39,269 DEBUG [default] ********** debug log
2020-05-12 16:27:39,269 ERROR [default] ********** error log
2020-05-12 16:27:39,269 WARNING [default] ********** warning log
2020-05-12 16:27:39,270 INFO [default] ********** info log

 

这是日志输出情况: 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值