使用android.util.Log
类记录日志信息,不仅可以控制日志信息的内容,还可以控制用来划分信息重要程度的日志级别。Android支持如图3-17所示的五种日志级别。每一个级别对应着一个Log
类方法。调用对应的Log
类方法与日志的输出和记录一样容易,如图3-17所示。
Log Level | Method | 说 明 |
---|---|---|
ERROR | Log.e(...) | 错误 |
WARNING | Log.w(...) | 警告 |
INFO | Log.i(...) | 信息型消息 |
DEBUG | Log.d(...) | 调试输出:可能被过滤掉 |
VERBOSE | Log.v(...) | 只用于开发 |
图3-17 日志级别与方法
需要说明的是,所有的日志记录方法都有两种参数签名:string
类型的tag
参数和msg
参数;除tag
和msg
参数外再加上Throwable
实例参数。附加的Throwable
实例参数为应用抛出异常时记录异常信息提供了方便。代码清单3-8展示了两种方法不同参数签名的使用实例。对于输出的日志信息,可使用常用的Java字符串连接操作拼接出需要的信息。或者使用String.format
对输出日志信息进行格式化操作,以满足个性化的使用要求。
代码清单3-8 Android的各种日志记录方式
// Log a message at "debug" log level Log.d(TAG, "Current question index: " + mCurrentIndex); TrueFalse question; try { question = mAnswerKey[mCurrentIndex]; } catch (ArrayIndexOutOfBoundsException ex) { // Log a message at "error" log level, along with an exception stack trace Log.e(TAG, "Index was out of bounds", ex); }