Android Log日志 - 打印不全问题

2024-06-24 06:58

本文主要是介绍Android Log日志 - 打印不全问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AndroidStudio在打印Log的时候目前支持4*1024长度,超出部分不能打印。当你在各种百度之后有对应的解决办法,但是每次都是部分代码,看着都忧伤。索性此次项目调试的数据也是比较多滴,目前就准备对Log开刀来写一个Log类,还是如以往的性格直接写完整的类,方便需要的人用。反正又不是什么高深的东西,为了给被方便同时也是给自己方便。

/*** Relin* 2019-07-10 10:40:32* 日志打印类* 该类主要适应日志打印不全问题,主要是因为Log最大长度4*1024,考虑到汉字问题* 此处我们采用的是2*1024长度打印,主要是分行打印数据,同时对每行进行[index]标识* 目前支持Log.i() Log.w()  Log.e()  Log.d()*/
public class Log {/*** 最大一次打印长度*/public final static int MAX_LENGTH = 2000;/*** 日志类型*/public enum Type {I, E, D, W}/*** 打印信息日志** @param tag 标志* @param msg 内容*/public static void i(String tag, String msg) {maxPrint(Type.I, tag, msg);}/*** 打印错误日志** @param tag 标志* @param msg 内容*/public static void e(String tag, String msg) {maxPrint(Type.E, tag, msg);}/*** 打印调试日志** @param tag 标志* @param msg 内容*/public static void d(String tag, String msg) {maxPrint(Type.D, tag, msg);}/*** 打印警告日志** @param tag 标志* @param msg 打印内容*/public static void w(String tag, String msg) {maxPrint(Type.W, tag, msg);}/*** 适应最大长度打印** @param type 日志类型* @param tag  标志* @param msg  信息*/private static void maxPrint(Type type, String tag, String msg) {if (msg.length() > MAX_LENGTH) {int length = MAX_LENGTH + 1;String remain = msg;int index = 0;while (length > MAX_LENGTH) {index++;typePrint(type, tag + "[" + index + "]", " \n" + remain.substring(0, MAX_LENGTH));remain = remain.substring(MAX_LENGTH);length = remain.length();}if (length <= MAX_LENGTH) {index++;typePrint(type, tag + "[" + index + "]", " \n" + remain);}} else {typePrint(type, tag, msg);}}/*** 打印各种类型** @param type 日志类型* @param tag  标志* @param msg  信息*/private static void typePrint(Type type, String tag, String msg) {switch (type) {case I:android.util.Log.i(tag, msg);break;case E:android.util.Log.e(tag, msg);break;case W:android.util.Log.w(tag, msg);break;case D:android.util.Log.d(tag, msg);break;}}}

这篇关于Android Log日志 - 打印不全问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1089471

相关文章

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法

《springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法》:本文主要介绍springboot整合阿里云百炼DeepSeek实现sse流式打印,本文给大家介绍的非常详细,对大... 目录1.开通阿里云百炼,获取到key2.新建SpringBoot项目3.工具类4.启动类5.测试类6.测

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2