11 日志系统

使用日志API

使用

1
2
3
4
5
6
7
private static final String TAG = "MainActivity";
Log.e(TAG, "错误信息");
Log.w(TAG, "警告信息");
Log.i(TAG, "普通信息");
Log.d(TAG, "调试信息");
Log.v(TAG, "无用信息"); // 便于程序猿唠叨

Java日志:System.out对应Log.i;System.err对应Log.w

日志分类

在Android Studio中对日志进行分类呈现,便于开发调试:

  • Android Monitor -> 选择Log level: Verbose、Debug、Info、Warn、Error
  • Regex:进行搜索
  • Edit Filter Configuration

DDMS中查看日志

1) 使用Android Studio中的DDMS
Tools -> Android -> Android Device Monitor
2) 独立的 DDMS 查看日志
双击Mac电脑上文件:/xianxiaotao/Library/Android/SDK/tools/ddms

日志工具类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package com.xianxiaotao.utils;
import android.util.Log;
/**
* Log统一管理类
*/
public class L {
private L() {
/* cannot be instantiated */
throw new UnsupportedOperationException("cannot be instantiated");
}
public static boolean isDebug = true; // 是否需要打印bug,可以在application的onCreate函数里面初始化
private static final String TAG = "xian";
// 下面四个是默认tag的函数
public static void v(String msg) {
if (isDebug)
Log.v(TAG, msg);
}
public static void d(String msg) {
if (isDebug)
Log.d(TAG, msg);
}
public static void i(String msg) {
if (isDebug)
Log.i(TAG, msg);
}
public static void w(String msg) {
if (isDebug)
Log.w(TAG, msg);
}
public static void e(String msg) {
if (isDebug)
Log.e(TAG, msg);
}
// 下面是传入自定义tag的函数
public static void v(String tag, String msg) {
if (isDebug)
Log.v(tag, msg);
}
public static void d(String tag, String msg) {
if (isDebug)
Log.d(tag, msg);
}
public static void i(String tag, String msg) {
if (isDebug)
Log.i(tag, msg);
}
public static void w(String tag, String msg) {
if (isDebug)
Log.w(tag, msg);
}
public static void e(String tag, String msg) {
if (isDebug)
Log.e(tag, msg);
}
}

以后进阶:奔溃日志收集与上传