android 打印控制

在Java层,有两个类用于打印

android.util.Log

android.util.Slog

这两个的区别是一个是LOG_ID_MAIN,另一个是Log.LOG_ID_SYSTEM,系统里面好像这两个对应的是一个日志缓冲区

分别调用

Log.v(TAG,"");

Slog.v(TAG, “”);

进行打印输出

在C++层

可以调用LOGI等

再看一下流程图


当我们需要把打印输出到文件时(串口存在log丢失),可以在logd_write.c函数__android_log_buf_write

#ifdef REC_PUSH_DATA
	if(len > 0 ) {
		if(rec_fp == NULL)
		{
			rec_fp = fopen("/data/android.log", "wb");
		}
		if(rec_fp == NULL)
		{
				
		}
		else
		{
			fwrite("(lijj) ", 1, 6, rec_fp);
			fwrite(tag, 1, strlen(tag), rec_fp);
			fwrite("  ", 1, 2, rec_fp);
			
			fwrite(msg, 1, len, rec_fp);
			fwrite("\n", 1, 2, rec_fp);
			fflush(rec_fp);
		}
	}
#endif
还有__android_log_write中添加同样的代码把log写到/data/android.log

你可能感兴趣的:(android框架)