C++实现 Android 远程调试log文件读写

ubuntu的实现:

新建安卓项目,选择natice c++
在项目的AndroidManifest.xml文件中添加

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 c++示例代码如下:

#include <time.h>

#define WRITE_LOG(s, ...) do { \
FILE *f = fopen("/sdcard/log.txt", "a+"); \
  fprintf(f, s, __VA_ARGS__); \
  fflush(f); \
  fclose(f); \
} while (0)


void static print_curr_time()
{
    time_t tt = time(NULL);//这句返回的只是一个时间cuo
    tm* t= localtime(&tt);
    WRITE_LOG("%d-%02d-%02d %02d:%02d:%02d ",
              t->tm_year + 1900,
              t->tm_mon + 1,
              t->tm_mday,
              t->tm_hour,
              t->tm_min,
              t->tm_sec);
    return ;
}


print_curr_time();
WRITE_LOG( "hip_knee_ankle_value %f \n",hip_knee_ankle_value);

windows的实现:

Easyloggin++项目在Github上的开源地址:https://github.com/easylogging/easyloggingpp

下载:easylogging++.cc和easylogging++.h文件

csdn下载连接:https://download.csdn.net/download/wzhrsh/19662171

配置文件my_log.conf如下:

* GLOBAL:  
    ENABLED                 =   true  
    TO_FILE                 =   true  
    TO_STANDARD_OUTPUT      =   true  
    FORMAT                  =   "[%level | %datetime] | %msg"  
    FILENAME                =   "/sdcard/log_%datetime{%Y%M%d}.log"  
    MILLISECONDS_WIDTH      =   3  
    PERFORMANCE_TRACKING    =   false  
    MAX_LOG_FILE_SIZE       =   1048576  
    LOG_FLUSH_THRESHOLD     =   0  
      

      
* DEBUG:  
    FILENAME                =   "/sdcard/debug_log_%datetime{%Y%M%d}.log"  
      
* FATAL:  
    ENABLED                 =   false  
      
* ERROR:  
    FILENAME                =   "/sdcard/error_log_%datetime{%Y%M%d}.log"  
      
* VERBOSE:  
    ENABLED                 =   false

示例代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include "easylogging++.h"  

INITIALIZE_EASYLOGGINGPP

int main(int argc, char** argv)
{
	float sum = 0;
	for (int i = 0; i < 200; i++) {
		sum = sum + i;
	}
	el::Configurations conf("my_log.conf");
	el::Loggers::reconfigureAllLoggers(conf);

	//LOG(TRACE) << "***** trace log  *****";
	LOG(DEBUG) <<"test_angle:"<< sum;
	//LOG(ERROR) << "***** error log  *****";
	//LOG(WARNING) << "***** warning log  *****";
	//LOG(INFO) <<  sum ;
	system("pause");
	return 0;
}

参考连接:https://www.yuque.com/lengyuezuixue/kggswo/kbodn3

猜你喜欢

转载自blog.csdn.net/wzhrsh/article/details/117918837