03_android日志猫的使用
在java基础的时候如果想调试程序打一下日志,用的是System.out.println();.

控制台输出的其实不是咱们的日志,而是我把整个项目的部署到设备上。控制台输出的是这个东西。Uploading上传,Installing安装。
[2017-06-13 14:14:47 - Day03_02_android输出日志logcat] ------------------------------
[2017-06-13 14:14:47 - Day03_02_android输出日志logcat] Android Launch!
[2017-06-13 14:14:47 - Day03_02_android输出日志logcat] adb is running normally.
[2017-06-13 14:14:47 - Day03_02_android输出日志logcat] Performing com.itheima.logcat.MainActivity activity launch
[2017-06-13 14:14:47 - Day03_02_android输出日志logcat] Automatic Target Mode: launching new emulator with compatible AVD 'android95device'
[2017-06-13 14:14:47 - Day03_02_android输出日志logcat] Launching a new emulator with Virtual Device 'android95device'
[2017-06-13 14:14:50 - Emulator] emulator: ERROR: Could not load OpenGLES emulation library: Could not load DLL!
[2017-06-13 14:14:50 - Emulator] emulator: WARNING: Could not initialize OpenglES emulation, using software renderer.
[2017-06-13 14:14:50 - Emulator] emulator: Failed to open the HAX device!
[2017-06-13 14:14:50 - Emulator] HAX is not working and emulator runs in emulation mode
[2017-06-13 14:14:50 - Emulator]
[2017-06-13 14:14:50 - Emulator] emulator: Open HAX device failed
[2017-06-13 14:14:50 - Emulator]
[2017-06-13 14:14:51 - Emulator] emulator: warning: opening audio input failed
[2017-06-13 14:14:51 - Emulator]
[2017-06-13 14:14:51 - Day03_02_android输出日志logcat] New emulator found: emulator-5554
[2017-06-13 14:14:51 - Day03_02_android输出日志logcat] Waiting for HOME ('android.process.acore') to be launched...
[2017-06-13 14:15:30 - Day03_02_android输出日志logcat] HOME is up on device 'emulator-5554'
[2017-06-13 14:15:30 - Day03_02_android输出日志logcat] Uploading Day03_02_android输出日志logcat.apk onto device 'emulator-5554'
[2017-06-13 14:15:30 - Day03_02_android输出日志logcat] Installing Day03_02_android输出日志logcat.apk...
[2017-06-13 14:15:43 - Day03_02_android输出日志logcat] Success!
[2017-06-13 14:15:43 - Day03_02_android输出日志logcat] Starting activity com.itheima.logcat.MainActivity on device emulator-5554
[2017-06-13 14:15:45 - Day03_02_android输出日志logcat] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.itheima.logcat/.MainActivity }
安卓中真正输出日志的是logcat日志猫。
Tag 通过标签来进行过滤。by Log Message根据日志的内容进行过滤。PID是我当前进程的编号。我也可以通过这个编号来进行过滤。by Application Name通过应用的名字来进行过滤。这里就可以写一个固定的过滤器。

如果用System.out来输出的日志,它的Tag日志都是System.out。这个东西的弊端是如果好多个人一起开发,或者说你写了好多个日志在不同的类里面,那么我在调试的过程中我现在新建了另外一个类我再想看一看这个东西。结果一运行起来发现我打了一堆System.out。究竟我现在打的日志是哪一条不太好区分,因为咱们比较常见的区分/过滤的手段是通过Tag标签。但是Tag标签就是System.out改不了。
五个日志的级别:verbose、debug、info、warn、error。assert不属于日志的级别。Tag写死了固定了就是System.out.你通过System.out来打的这个日志的级别也是固定的.所以说相对来讲你用它来输出的日志在过滤起来的时候就相对来讲会麻烦一些。
现在咱们这个虚拟机含的日志还是比较少。如果你真的把你的手机/设备连在这个IDE上,你就会发现LogCat控制台上在使劲在跑,一直都不停。一直都不停那你在调试的时候想看到你的log一定要通过过滤器。通过这个过滤器去过滤的,否则的话你的log会被其他的日志给顶上去了。所以咱们一定要搞这个tag,通过它来过滤。过滤之后这个日志就不会这么来回跑了。所以可以通过当前的类名来作为一个tag。
03_android日志猫的使用的更多相关文章
- Android日志猫的使用
Android日志猫的使用 Android给我们提供了一个Log类,这个类有一些方法,比如 我们可以在我们的代码中添加这些方法进行测试 package com.example.test; import ...
- 7.Android-压力测试、单元测试、日志猫使用
1.压力测试monkey 通过cmd输入下面命令: adb shell monkey -p com.example.phonecall --ignore-crashes --ignore-timeou ...
- 3 测试使用和LogCat日志
测试概念: 1.根据是否知道源代码分: 黑盒测试:功能测试 白盒测试:编写代码进行测试 2.测试力度划分: 方法测试: 单元测试: 集成测试: 系统测试: 3.暴力程度划分: 压力测试: 冒烟测试:压 ...
- Android常见的控件
1.Log类的使用 (1)Log.v() v是verbose 提醒的意思 (2)Log.d() d是debug调试 (3)Log.i() i是info信息的意思 (4)Log.w() ...
- 安卓Android基础—第二天
测试的相关概念 好的软件不是开发出来的,是不断测试出回来的 根据是否知道源代码 黑盒测试 白盒测试 根据测试的粒度 方法测试 单元测试 集成测试 系统测试 根据测试的暴力程度 压力测试(谷歌工程师提供 ...
- android studio AndroidManifest
一.目录结构 1. AndroidManifest.xml 它是一个清单文件,提供应用的基本信息 <?xml version="1.0" encoding="utf ...
- Android如何使用OKHttp
首先要在build.gradle里面写入 // 添加OKHttp支持 implementation("com.squareup.okhttp3:okhttp:4.3.1") 下面是 ...
- 猫哥网络编程系列:详解 BAT 面试题
从产品上线前的接口开发和调试,到上线后的 bug 定位.性能优化,网络编程知识贯穿着一个互联网产品的整个生命周期.不论你是前后端的开发岗位,还是 SQA.运维等其他技术岗位,掌握网络编程知识均是岗位的 ...
- MapReduce实现手机上网日志分析(分区)
一.问题背景 实际业务的需要,比如以移动为例,河南的用户去了北京上网,那么他的上网信息默认保存在了北京的基站,那么我们想要查询北京地区的上网日志信息默认也包含了其他地区用户的在本区的上网信息,否则只能 ...
随机推荐
- 动态创建selectjs 操作select和option
1.动态创建select function createSelect(){ var mySelect = document.createElement("select"); myS ...
- Mysql的空值与NULL的区别
Mysql数据库是一个基于结构化数据的开源数据库.SQL语句是MySQL数据库中核心语言.不过在MySQL数据库中执行SQL语句,需要小心两个陷阱. 陷阱一:空值不一定为空 空值是一个比较特殊的字段. ...
- python cookbook 字符串和文本
使用多个界定符分隔字符串 import re line = 'asdf fjdk; afed, fjek,asdf, foo' print(re.split(r'[;,\s]\s*', line)) ...
- python 3 并发编程多进程 paramiko 模块
python 3 paramiko模块 paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的pa ...
- systemd基本使用
参考金步国翻译的systemd中文手册: http://www.jinbuguo.com/systemd/index.html 金步国翻译质量都很高, 非常适合做参考 原文:https://wiki. ...
- Android平台及其架构(部分转载)
一.Android的系统架构 1. 应用程序 同Android系统一起发布的核心应用程序,如email 客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等. 这些应用程序都是用 ...
- Javascript 模块化编程 --RequireJs
什么是模块化 模块就是实现特定功能的一组方法,常见的几种js写法 原始写法 function A() { } function B() { } 上面函数A()和B()组成一个模块,使用的时候直接调用就 ...
- 使用CSS3制作酷炫防苹果复选框 自行测试!
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Tomcat_异常_01_Setting property 'source' to 'org.eclipse.jst.jee.server:AWeiXin_QiYe_Demo' did not find a matching property
关于解决方法: 1.解决Setting property 'source' to 'org.eclipse.jst.jee.server的问题 2.eclipse中server location为灰色 ...
- javascript笔记(二)
concat() 连接多个字符串,返回合并后的字符串. 1 var s1="a"; 2 var s2="b"; 3 var s3="c"; ...