打印Log日志在程序开发调试中都无比重要,因此通常会为Log书写一个工具类来方便其使用。
public class UtilLog {
public static boolean IsLog = false;
public static void setlog(String log) {
if (IsLog)
Log.i("xnews", log);
}
}
这样就能简单是直接设置Log,并且在软件调试完成后一键关闭Log,避免多余的资源损耗。
在有的特定情况下,需要打印出Json字符串等相对比较长的字符串进行查看,这样由于logCat限制,有时候会导致Log太长打印不全的问题,这时候就需要在原来的基础上进行改写,判断当log信息超过多少时进行换行显示,这样也可以避免log单行显示不方便查看的问题。
public class LogUtil {
public static void setLog(String log) {
//规定每段显示的长度
int LOG_MAX_LENGTH = 2000;
String TAG = "TAG";
int strLength = log.length();
int start = 0;
int end = LOG_MAX_LENGTH;
for (int i = 0; i <Integer.MAX_VALUE; i++) {
//剩下的文本还是大于规定长度则继续重复截取并输出
if (strLength > end) {
Log.i(TAG + i, "\n"+log.substring(start, end));
start = end;
end = end + LOG_MAX_LENGTH;
} else {
Log.i(TAG, log.substring(start, strLength));
break;
}
}
}
}
另外在开发中还遇到过一个小很容易忽略的小问题,特别是在流的操作中打印获得的临时数据时 ,当使用Log打印日志,日志最后写入换行符会导致该日志无法打印。