当前位置:操作系统 > 安卓/Android >>

android中打Log的一些技巧

[java] view plaincopyprint? 
在 android 平台上搞开发工作,会经常用到一些 Log 输出调试信息。

众所周知,android 中有五种类型的 Log , v, d, i, w, e 这里就不再赘 述 (如果对这些不了解的朋友,推荐看 android_Tutor 的博文 http://www.zzzyk.com/kf/201205/132161.html , 上面讲的很详细)

本文主要讲一下如何统一控制 Log 的输出和关闭。

一般我们会在 debug 的版本中输出 log,而在 release 版本的产品中关闭 log 的输出。这一点是如何做到的呢,下面来看代码。

在你当前工作的工程中建一个新的类文件 Log.java 。这个类文件放在当前工作的包中,(也可以单独建一个包来放这个类文件)

在下面的类文件中,我们把 android中原始的10个 log 函数重新包了一层。定义了一个常量 DEBUG ,当 DEBUG 为 true 时才输出 Log 信息

[java]package com.android.gallery3d.util; 
 
public class Log { 
    private static final boolean DEBUG = true; 
     
    public static void v(String tag, String msg) { 
        if(DEBUG) { 
            android.util.Log.v(tag, msg); 
        } 
    } 
    public static void v(String tag, String msg, Throwable tr) { 
        if(DEBUG) { 
            android.util.Log.v(tag, msg, tr); 
        } 
    } 
    public static void d(String tag, String msg) { 
        if(DEBUG) { 
            android.util.Log.d(tag, msg); 
        } 
    } 
    public static void d(String tag, String msg, Throwable tr) { 
        if(DEBUG) { 
            android.util.Log.d(tag, msg, tr); 
        } 
    } 
    public static void i(String tag, String msg) { 
        if(DEBUG) { 
            android.util.Log.i(tag, msg); 
        } 
    } 
    public static void i(String tag, String msg, Throwable tr) { 
        if(DEBUG) { 
            android.util.Log.i(tag, msg, tr); 
        } 
    } 
    public static void w(String tag, String msg) { 
        if(DEBUG) { 
            android.util.Log.w(tag, msg); 
        } 
    } 
    public static void w(String tag, String msg, Throwable tr) { 
        if(DEBUG) { 
            android.util.Log.w(tag, msg, tr); 
        } 
    } 
    public static void w(String tag, Throwable tr) { 
        if(DEBUG) { 
            android.util.Log.w(tag, tr); 
        } 
    } 
    public static void e(String tag, String msg) { 
        if(DEBUG) { 
            android.util.Log.e(tag, msg); 
        } 
    } 
    public static void e(String tag, String msg, Throwable tr) { 
        if(DEBUG) { 
            android.util.Log.e(tag, msg, tr); 
        } 
    } 

package com.android.gallery3d.util;

public class Log {
 private static final boolean DEBUG = true;
   
 public static void v(String tag, String msg) {
     if(DEBUG) {
      android.util.Log.v(tag, msg);
     }
    }
    public static void v(String tag, String msg, Throwable tr) {
        if(DEBUG) {
         android.util.Log.v(tag, msg, tr);
        }
    }
    public static void d(String tag, String msg) {
        if(DEBUG) {
         android.util.Log.d(tag, msg);
        }
    }
    public static void d(String tag, String msg, Throwable tr) {
        if(DEBUG) {
         android.util.Log.d(tag, msg, tr);
        }
    }
    public static void i(String tag, String msg) {
        if(DEBUG) {
         android.util.Log.i(tag, msg);
        }
    }
    public static void i(String tag, String msg, Throwable tr) {
        if(DEBUG) {
         android.util.Log.i(tag, msg, tr);
        }
    }
    public static void w(String tag, String msg) {
        if(DEBUG) {
         android.util.Log.w(tag, msg);
        }
    }
    public static void w(String tag, String msg, Throwable tr) {
        if(DEBUG) {
         android.util.Log.w(tag, msg, tr);
        }
    }
    public static void w(String tag, Throwable tr) {
        if(DEBUG) {
         android.util.Log.w(tag, tr);
        }
    }
    public static void e(String tag, String msg) {
        if(DEBUG) {
         android.util.Log.e(tag, msg);
        }
    }
    public static void e(String tag,

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,