您的位置:首页 > 移动开发 > Android开发

Android调试的Log.d()没有输出

2017-05-13 12:02 477 查看
在之前我是很喜欢使用真机进行调试的,因为那时候觉得用真机调试比较方便,直到我发现我的手机打印不出Log.d()的调试日志,我才开始经常使用模拟器。当然还有两小点是:我的手机不支持快速启动和小编的电脑配置比较低,模拟器太吃内存了。写一个简单的应用,它的代码是public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("调试日志","你好");
Log.e("错误日志","你好");
}
}很简单,就输出一个调试日志和错误日志,但是在真机和模拟器的输出却不一样。首先使用的是真机

它的输出日志只有错误日志,调试日志不见了。

然后我们使用模拟器进行调试

它把所有的日志都输出了

我们在调试应用时但要是每个日志都要输出,否则是很抓狂的。通过网上查得知是部分厂家把比较低级的日志禁止输出了,所以就没有看到刚才的调试日志。对Log处理一下,写成一个工具类,可以更方便我们使用,下面就是一个包装过的Logimport android.util.Log;

/**
* 输出日志工具
* Created by 15696 on 2017/12/9.
*/

public class LogUtil {
private String TAG;
private boolean isRelease = false;
private boolean isDebug;

public LogUtil(Class c, boolean isDebug) {
this.TAG = c.getName();
this.isDebug = isDebug;
}

public void d(String msg) {
if (!isRelease && isDebug) {
Log.d(TAG, "--------->" + msg);
}
}

public void i(String msg) {
if (!isRelease && isDebug) {
Log.i(TAG, "--------->" + msg);
}
}

public void w(String msg) {
if (!isRelease && isDebug) {
Log.w(TAG, "--------->" + msg);
}
}

public void e(String msg) {
if (!isRelease && isDebug) {
Log.e(TAG, "--------->" + msg);
}
}
}说到这里,我多唠叨一下,我建议调试日志最后使用Log的方法输出,因为Log是分等级的,还有过滤器,这极大的方便我们对输出日志的捕获,尽量不要用System.out.println()和System.err.println()
修改输出日志的级别如果想修改输出日志级别,可以在进行以下操作(酷派手机):1、拨号键中输入:*20121220#,输入完成会自动打开工程模式
2、选择日志输出等级3、选择Java log level4、在这里就可以选择你要输出的最低等级日志了
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android