在之前我是很喜欢使用真机进行调试的,因为那时候觉得用真机调试比较方便,直到我发现我的手机打印不出Log.d()的调试日志,我才开始经常使用模拟器。当然还有两小点是:我的手机不支持快速启动和小编的电脑配置比较低,模拟器太吃内存了。
写一个简单的应用,它的代码是
代码语言:javascript复制public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("调试日志","你好");
Log.e("错误日志","你好");
}
}
很简单,就输出一个调试日志和错误日志,但是在真机和模拟器的输出却不一样。
首先使用的是真机
它的输出日志只有错误日志,调试日志不见了。
然后我们使用模拟器进行调试
它把所有的日志都输出了
我们在调试应用时但要是每个日志都要输出,否则是很抓狂的。通过网上查得知是部分厂家把比较低级的日志禁止输出了,所以就没有看到刚才的调试日志。
对Log处理一下,写成一个工具类,可以更方便我们使用,下面就是一个包装过的Log
代码语言:javascript复制import 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 level
4、在这里就可以选择你要输出的最低等级日志了