【Android】日志工具Log类

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: android.util.Log类android.util.Log常用的方法有以下5个:Log.v(), Log.d() ,Log.i() ,Log.w() 以及 Log.e() 。

android.util.Log类

android.util.Log常用的方法有以下5个:Log.v()Log.d()Log.i()Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。

  • Log.v 的输出颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思。

  • Log.d的输出颜色为蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择。

  • Log.i的输出颜色为绿色,一般提示性的消息information,它不会输出Log.vLog.d的信息,但会显示iwe的信息。

  • Log.w的输出颜色为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。

  • Log.e的输出颜色为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。

1. 常规用法

Log.v(TAG,"一条啰嗦日志");
Log.d(TAG,"一条调试日志");
Log.i(TAG,"一条提示日志");
Log.w(TAG,"一条警告日志");
Log.e(TAG,"一条错误日志");

其中TAG为字符串。用于标记。同一个应用TAG基本可以成一样。并且,应用打包发布时,最好把全部Log注释掉,否则将产生不必要的资源消耗(虽然很小)。

2. 封装Log

public class L {
    private static String TAG = "WZM";
    // 开关
    private static boolean debug = true;

    private L() {
    }

    public static void setTAG(String TAG) {
        L.TAG = TAG;
    }

    public static void setDebug(boolean debug) {
        L.debug = debug;
    }

    public static void v(String msg) {
        if (debug)
            Log.v(TAG, msg);
    }

    public static void d(String msg) {
        if (debug)
            Log.d(TAG, msg);
    }

    public static void i(String msg) {
        if (debug)
            Log.i(TAG, msg);
    }

    public static void w(String msg) {
        if (debug)
            Log.w(TAG, msg);
    }

    public static void e(String msg) {
        if (debug)
            Log.e(TAG, msg);
    }

}

使用时:

L.v("一条啰嗦日志");
L.d("一条调试日志");
L.i("一条提示日志");
L.w("一条警告日志");
L.e("一条错误日志");

并且,可在Application中设置开关(是否输出日志)或TAG(默认WZM

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        L.setTAG("TAG");
        L.setDebug(false);
    }
}

打包发布时,debug设为false即可。


img_d1e94f7c9422d51d470a24ba6be5215d.png
配一张图

其他

还有对Toast的简单封装:Android 封装Toast

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
9天前
|
JSON 安全 API
.net 自定义日志类
在.NET中,创建自定义日志类有助于更好地管理日志信息。示例展示了如何创建、配置和使用日志记录功能,包括写入日志文件、设置日志级别、格式化消息等。注意事项涵盖时间戳、日志级别、JSON序列化、线程安全、日志格式、文件处理及示例使用。请根据需求调整代码。
33 13
|
2月前
|
前端开发 数据处理 Android开发
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
60 8
|
3月前
|
存储 Java Android开发
Android|记一个导致 logback 无法输出日志的问题
在给一个 Android 项目添加 logback 日志框架时,遇到一个导致无法正常输出日志的问题,这里记录一下。
49 2
|
3月前
|
Java 程序员 API
Android|集成 slf4j + logback 作为日志框架
做个简单改造,统一 Android APP 和 Java 后端项目打印日志的体验。
153 1
|
3月前
|
JSON 调度 数据库
Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数
本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。文章详细解析了Kotlin中的协程、扩展函数、高阶函数、密封类及`inline`和`reified`关键字在Android开发中的应用,帮助读者更好地理解和使用这些特性。
46 1
|
2月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
85 0
|
3月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
36 2
|
4月前
|
存储 运维 监控
超级好用的C++实用库之日志类
超级好用的C++实用库之日志类
59 0
|
Android开发
【Android 逆向】Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(二)
【Android 逆向】Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(二)
172 0
【Android 逆向】Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(二)
|
移动开发 Android开发 C++
【Android 逆向】Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(一)
【Android 逆向】Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(一)
159 0
【Android 逆向】Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(一)