Android.util.Log

来源:互联网 发布:php 网络爬虫抓取图片 编辑:程序博客网 时间:2024/06/01 10:47

android.util.Log常用的方法有以下5个:

Log.v() Log.d() Log.i() Log.w() 和 Log.e() 。根据首字母对应VERBOSEDEBUG,INFO, WARN,ERROR。

  • 1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");
  • 2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.
  • 3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息
  • 4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。
  • 5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息

在android代码的每个Activity,都不厌其烦的写:

private static final String TAG = "MyActivity";

然后需要打印的地方输入:

Log.v(TAG, "index=" + i);

写太多的TAG,也麻烦,如果不写TAG,用 this.toString() 也可行,不过还是一样,下面是一个包装的Log类,自动处理是哪个Activity,调用哪个函数,如下:

/* * Copyright (C) 2010 Lytsing Huang http://lytsing.org * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.lytsing.android.util;/** * Wrapper API for sending log output. */public class Log {    protected static final String TAG = "MyApplication";    public Log() {    }    /**     * Send a VERBOSE log message.     * @param msg The message you would like logged.     */    public static void v(String msg) {        android.util.Log.v(TAG, buildMessage(msg));    }    /**     * Send a VERBOSE log message and log the exception.     * @param msg The message you would like logged.     * @param thr An exception to log     */    public static void v(String msg, Throwable thr) {        android.util.Log.v(TAG, buildMessage(msg), thr);    }    /**     * Send a DEBUG log message.     * @param msg     */    public static void d(String msg) {        android.util.Log.d(TAG, buildMessage(msg));    }    /**     * Send a DEBUG log message and log the exception.     * @param msg The message you would like logged.     * @param tr An exception to log     */    public static void d(String msg, Throwable thr) {        android.util.Log.d(TAG, buildMessage(msg), thr);    }    /**     * Send an INFO log message.     * @param msg The message you would like logged.     */    public static void i(String msg) {        android.util.Log.i(TAG, buildMessage(msg));    }    /**     * Send a INFO log message and log the exception.     * @param msg The message you would like logged.     * @param thr An exception to log     */    public static void i(String msg, Throwable thr) {        android.util.Log.i(TAG, buildMessage(msg), thr);    }    /**     * Send an ERROR log message.     * @param msg The message you would like logged.     */    public static void e(String msg) {        android.util.Log.e(TAG, buildMessage(msg));    }    /**     * Send a WARN log message     * @param msg The message you would like logged.     */    public static void w(String msg) {        android.util.Log.w(TAG, buildMessage(msg));    }    /**     * Send a WARN log message and log the exception.     * @param msg The message you would like logged.     * @param thr An exception to log     */    public static void w(String msg, Throwable thr) {        android.util.Log.w(TAG, buildMessage(msg), thr);    }    /**     * Send an empty WARN log message and log the exception.     * @param thr An exception to log     */    public static void w(Throwable thr) {        android.util.Log.w(TAG, buildMessage(""), thr);    }        /**     * Send an ERROR log message and log the exception.     * @param msg The message you would like logged.     * @param thr An exception to log     */    public static void e(String msg, Throwable thr) {        android.util.Log.e(TAG, buildMessage(msg), thr);    }    /**     * Building Message     * @param msg The message you would like logged.     * @return Message String     */    protected static String buildMessage(String msg) {              StackTraceElement caller = new Throwable().fillInStackTrace().getStackTrace()[2];         return new StringBuilder()                .append(caller.getClassName())                .append(".")                .append(caller.getMethodName())                .append("(): ")                .append(msg).toString();    }}
使用demo:LogDemo.java:
package org.lytsing.android.log;import org.lytsing.android.util.Log;import android.app.Activity;import android.os.Bundle;public class LogDemo extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Log.i("index=" + 3);    }}



工具类出处:http://blog.lytsing.org/archives/236.html

原创粉丝点击