在学习别人开发的例子时经常看到Log.v()Log.d()Log.i()Log.w()和Log.e()方法的使用,但是不知道这个log类是用来干什么的,下面我将对这个类进行讲解
android.util.Log继承自java.lang.Object
构造
public final class Logextends Object

通常使用Log.v()、Log.d()、Log.i()、Log.w()和Log.e()方法

v是VERBOSE(冗长):Logcat下调试颜色为黑色的,任何消息都会输出

d是DEBUG(调试):Logcat下输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择

i是INFO(信息):Logcat下输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息

w是WARN(警告):Logcat下为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息

e是ERROR(错误):Logcat下为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了

方法和参数
Log.v(String tag, String msg);
Log.d(String tag, String msg);
Log.i(String tag, String msg);
Log.w(String tag, String msg);
Log.e(String tag, String msg);
参数tag是一个标识,可以是任意字符串,通常可以使用类名+方法名, 主要是用来在查看日志时提供一个筛选条件
参数msg是需要打印的信息

有时候查看我们的手机文件经常看见很多文档像下面这些就是应用运行日记



当我们的程序出现问题崩溃了,我们希望能够收集到出现异常的原因进行分析,所以可以把Log日志保存到一个文件中,放在SD卡程序创建的目录下。也可以在用户联网的情况下,在程序的后台把出异常的Log日志文件上传到服务端,方便程序员进行分析,解决bug。
还有就是使用log来进行调试程序
当程序出现错误时,我们最希望的就是这个Log类能帮我们定位到是哪个类的哪个方法,甚至于是那一行出现了错误。这样就能给我们的调试带来很大的便利。当然自己测试用的log最好是在应用发布前就删除或注释掉,这样是防止别人通过日记破解应用。
下面写个简单logtest
xml布局只是添加一个Button控件
下面是主代码

package com.example.logtest;import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;public class MainActivity extends Activity implements OnClickListener{private static final String ACTIVITY_TAG="Logtest";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//通过findViewById找到Button资源findViewById(R.id.bt).setOnClickListener(this);//增加事件响应}public void onClick(View arg0) {switch (arg0.getId()) {case R.id.bt:Log.v(ACTIVITY_TAG, "This is Verbose.");Log.d(ACTIVITY_TAG, "This is Debug.");Log.i(ACTIVITY_TAG, "This is Information");Log.w(ACTIVITY_TAG, "This is Warnning.");Log.e(ACTIVITY_TAG, "This is Error.");break;default:break;}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

效果图

注意:如果msg信息太长,信息可能会被截断

可转载,请保留出处!!!
http://blog.csdn.net/a18076758745/article/details/51145173

android.util.log(Log.v()Log.d()Log.i()Log.w()和Log.e())相关推荐

  1. android.util.Log常用的方法

    2019独角兽企业重金招聘Python工程师标准>>> android.util.Log常用的方法有以下5个: Log.v() Log.d() Log.i() Log.w() 以及 ...

  2. 解决 java.lang.RuntimeException: Method i in android.util.Log not mocked. See http://g.co/androidstudi

    解决 java.lang.RuntimeException: Method i in android.util.Log not mocked. See http://g.co/androidstudi ...

  3. 关于Android Studio单元测试中“Method d in android.util.Log not mocked.”问题的解决。

    关于Android Studio单元测试中"Method d in android.util.Log not mocked."问题的解决. 点开链接 这就是解决方案.(这主要是由于 ...

  4. Android开发过程中在sh,py,mk文件中添加log信息的方法

    Android开发过程中在sh,py,mk文件中添加log信息的方法 在sh文件中: echo "this is a log info" + $info 在py文件中: print ...

  5. 在文件log 加入commit id_从物理文件理解InnoDB Redo Log

    导读 作为MySQL DBA都应该知道,Redo Log是可被覆盖的,是ACID中的D的最重要的构成部分,也就是关系型数据库中的WAL中的L. Redo Log记录的是redo,那么redo是什么呢? ...

  6. mysql undo log回收_MySQL5.7 可以回收(收缩)undo log回滚日志物理文件空间

    undo log回滚日志是保存在共享表空间ibdata1文件里,随着业务的不停运转,ibdata1文件会越来越大,想要回收(收缩空间大小)极其困难和复杂, 必须先mysqldump -A全库的导出,然 ...

  7. c++ log函数_高斯拉普拉斯算子(Laplacian of Gaussian, LoG)

    一.简要描述: 拉普拉斯算子是图像二阶空间导数的二维各向同性测度.拉普拉斯算子可以突出图像中强度发生快速变化的区域,因此常用在边缘检测任务当中.在进行Laplacian操作之前通常需要先用高斯平滑滤波 ...

  8. Android学习之Pair类 (android.util.Pair )

    官方文档:https://developer.android.com/reference/android/util/Pair.html 原文地址: http://blog.csdn.net/qq_24 ...

  9. android.util.AndroidRuntimeException: requestFeature() must be called before adding content

    问题 Caused by: android.util.AndroidRuntimeException: requestFeature() must be called before adding co ...

最新文章

  1. 时间排序python_算法导论 第八章 线性时间排序(python)
  2. Redis 中的集合类型是怎么实现的?
  3. 守护进程和inetd守护进程
  4. 如何利用循环代替递归以防止栈溢出(译)
  5. asp.net 2.0 下的一个小技巧
  6. c#之跟踪(c#高级编程系列)
  7. 计算机视觉算法岗面经,2019秋招资料
  8. php跨网段获取mac地址吗,局域网IP地址和MAC地址绑定,跨网段IP-MAC绑定。
  9. 离散数学及其应用(英文版 第7版)及答案
  10. 小米路由器3 刷潘多拉、救砖、刷老毛子Pandavan教程
  11. Ubuntu常用C语言IDE,Ubuntu下常用IDE的安装
  12. 饿了么UI框架表格的动态增减表单项里面有坑!
  13. RK3399 eMMC硬件设计要点
  14. 启动计算机显示屏没反应,电脑开机后显示器无反应怎么办
  15. URL中 # ? 是什么意思
  16. 3DTouch功能开发
  17. SHELL的文本处理工具
  18. 怎样在latex中插入jpg图片
  19. 了解RESTful接口设计风格
  20. 搭建基于企业微信的SCRM系统

热门文章

  1. Adobe Acrobat DC无需注册登陆版
  2. 掌握这些Revit常见术语,从此BIM建模再无压力
  3. 笔记本无线连外网,有线连内网,如何实现?
  4. 239页10万字“联、管、用”三位一体雪亮工程整体建设方案
  5. must be unique: xxx.xxx.xxx:xxx:jar -> duplicate declaration of version 0.0.1 @ line 25, column 21
  6. vue3+ts 项目空格和回车代码出现红色波浪线
  7. 人工智能之集束搜索Beam Search Algorithm
  8. 乔布斯在斯坦福大学的演讲(三)[转载]
  9. matlab双线性变换切比雪夫2,语音信号滤波去噪——使用双线性变换法设计切比雪夫II型.doc...
  10. Unity2019_音效系统