赞
踩
android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,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错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。
注意:不同的打印方法在使用时都是某个方法带上(String tag, String msg)参数,tag表示的是打印信息的标签,msg表示的是需要打印的信息。
/** * LogUtil .java * 打印日志工具类 * 使用方法:level = VERBOSE可以打印所有的日志;level = NOTHING所有的日志都打印不出来,上线时设置level = NOTHING */ public class LogUtil { public static final int VERBOSE = 1; public static final int DEBUG = 2; public static final int INFO = 3; public static final int WARN = 4; public static final int ERROR = 5; public static final int NOTHING = 6; public static final int level = VERBOSE; private LogUtil() { throw new UnsupportedOperationException("本日志工具类不能被实例化,直接调用静态方法就好"); } /** * 打印Verbose级别日志 * @param tag * @param msg */ public static void v(String tag,String msg){ if(level <= VERBOSE){ Log.v(tag, msg); } } /** * 打印Debug级别日志 * @param tag * @param msg */ public static void d(String tag,String msg){ if(level <= DEBUG){ Log.d(tag, msg); } } /** * 打印Info级别日志 * @param tag * @param msg */ public static void i(String tag,String msg){ if(level <= INFO){ Log.i(tag, msg); } } /** * 打印Warn级别日志 * @param tag * @param msg */ public static void w(String tag,String msg){ if(level <= WARN){ Log.w(tag, msg); } } /** * 打印Error级别的日志 * @param tag * @param msg */ public static void e(String tag,String msg){ if(level <= ERROR){ Log.e(tag, msg); } } }
- //工具类打印方法
- LogUtil.v(TAG,"verbose");
- LogUtil.d(TAG,"debug");
- LogUtil.i(TAG,"info");
- LogUtil.w(TAG,"warn");
- LogUtil.e(TAG,"error");
1.添加头文件#include<android/log.h>
2.添加log库liblog.so
3.定义宏
- #define TAG "myDemo-jni" // 这个是自定义的LOG的标识
- #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,TAG ,__VA_ARGS__) // 定义LOGD类型
- #define LOGI(...) __android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__) // 定义LOGI类型
- #define LOGW(...) __android_log_print(ANDROID_LOG_WARN,TAG ,__VA_ARGS__) // 定义LOGW类型
- #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,TAG ,__VA_ARGS__) // 定义LOGE类型
- #define LOGF(...) __android_log_print(ANDROID_LOG_FATAL,TAG ,__VA_ARGS__) // 定义LOGF类型
上述代码中定义的函数分别对应于Android 的Java代码中的Log.d(), Log.i(), Log.w(),Log.e(), Log.f()等方法。
参考文章:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。