Android的Log等级介绍以及自定义Log工具类

Android  2017年10月25日 am8:41发布7年前 (2017)更新 城堡大人
93 0 0

 

一:Log等级介绍

Android的Log等级通常有五类,按照日志级别由低到高分别是Verbose、Debug、Info、Warning、Error,其对应的log定义在system层。
  1. V   :  Verbose就是冗长啰嗦的。通常表达开发调试过程中的一些详细信息,用Log.v()输出,不过滤地输出所有调试信息。是最低级的Log可以不用管。

  1. D   :  Debug来表达调试信息。用Log.d()输出,能输出Debug、Info、Warning、Error级别的Log信息。

  1. I   :  Info来表达一些信息。用Log.i()输出,能输出Info、Warning、Error级别的Log信息。

  1. W   :  Warning表示警告,但不一定会马上出现错误,开发时有时用来表示特别注意的地方。用Log.w()输出,能输出Warning、Error级别的Log信息。

  1. E   :  Error表示出现错误,是最需要关注解决的。用Log.e()输出,能输出Error级别的Log信息。

注:Info、Warnning、Error等级的Log在普通调试中不随意滥用,存在发布版本中。在开发调试版本中,才会显示全部等级。
以上内容摘抄于《Android的Log等级

二:自定义log工具类

示例代码一

package com.biumall
.utils;

import android.util.Log;

public class LogUtils {

	// constant value
	public static final int LOG_LEVEL_V = 5;
	public static final int LOG_LEVEL_D = 4;
	public static final int LOG_LEVEL_I = 3;
	public static final int LOG_LEVEL_W = 2;
	public static final int LOG_LEVEL_E = 1;

	public static int log_level = LOG_LEVEL_V; // default log level

	public static String TAG = "www.biumall.com"; //

	public static void v(String msg) {
		if (log_level >= LOG_LEVEL_V) {
			Log.d(TAG, msg);
		}
		return;
	}

	public static void v(String tag, String msg) {
		if (log_level >= LOG_LEVEL_V) {
			Log.d(tag, msg);
		}
		return;
	}

	public static void d(String msg) {
		if (log_level >= LOG_LEVEL_D) {
			Log.d(TAG, msg);
		}
		return;
	}

	public static void d(String tag, String msg) {
		if (log_level >= LOG_LEVEL_D) {
			Log.d(tag, msg);
		}
		return;
	}

	public static void i(String msg) {
		if (log_level >= LOG_LEVEL_I) {
			Log.d(TAG, msg);
		}
		return;
	}

	public static void i(String tag, String msg) {
		if (log_level >= LOG_LEVEL_I) {
			Log.d(tag, msg);
		}

		return;
	}

	public static void w(String msg) {
		if (log_level >= LOG_LEVEL_W) {
			Log.d(TAG, msg);
		}
		return;
	}

	public static void w(String tag, String msg) {
		if (log_level >= LOG_LEVEL_W) {
			Log.d(tag, msg);
		}

		return;
	}

	public static void e(String msg) {
		if (log_level >= LOG_LEVEL_E) {
			Log.d(TAG, msg);
		}
		return;
	}

	public static void e(String tag, String msg) {
		if (log_level >= LOG_LEVEL_E) {
			Log.d(tag, msg);
		}

		return;
	}
}

示例代码二

package com.biumall.utils;

import android.util.Log;

public class LogUtils {

	public static boolean isDebug = true; // default debug model true
	public static String TAG = "www.l25la.com";// default tag

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

	public static void d(String tag, String msg) {
		if (isDebug) {
			Log.d(tag, msg);
		}
		return;
	}

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

	public static void e(String tag, String msg) {
		if (isDebug) {
			Log.e(tag, msg);
		}
		return;
	}

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

	public static void v(String tag, String msg) {
		if (isDebug) {
			Log.v(tag, msg);
		}
		return;
	}

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

	public static void w(String tag, String msg) {
		if (isDebug) {
			Log.w(tag, msg);
		}
		return;
	}

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

	public static void i(String tag, String msg) {
		if (isDebug) {
			Log.i(tag, msg);
		}
		return;
	}
}

个人偏向于代码一,可以通过level调节日志的输出,当然代码示例二也用。

 历史上的今天

  1. 2024: UTF-8下指定字节个数截断字符串(0条评论)
  2. 2023: nginx服务器开启Gzip(0条评论)
  3. 2021: 拷贝文件时异常断电导致文件拷贝失败(0条评论)
  4. 2019: 川端康成:父母的心(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

Web网站置灰的几种方式代码

前言众所周知,一般有大事情,很多官方网站的首页就会置灰。对这个比较感兴趣,因此就查询了一下,发现设置全站置灰的方式很简单。记录一下,方便自己查阅。PS: 本文内容摘抄的,文末有原作者连接正文置灰涉及全屏置灰,另外一种是首屏置灰。下面记录一下置灰的代码。全屏置灰方式一亲测,有效。...

Android图片旋转+倒影

前言根据前面两篇文章,这里进行组合也就是倒影+旋转,顺便加上了倒影渐变。效果如图。正文直接上代码<!-- layout_height= 倒影高度+分割线高度+图片高度,否则显示不全 -->​<com.biumall.reflectview.view.Rotat...

樊小纯:借我

借我一个暮年借我碎片借我瞻前与顾后借我执拗如少年借我后天长成的先天借我变如不曾改变借我素淡的世故和明白的愚借我可预知的脸借我悲怆的磊落借我温软的鲁莽和玩笑的庄严借我最初与最终的不敢借我不言而喻的不见借我一场秋啊可你说这已是冬天

尼采:孩子和婚姻

兄弟,我单独问你一个问题,这个问题就如探测之铅坠,我可据此了解你的灵魂。你年轻,渴望孩子与婚姻,但我问你,你有资格渴求孩子吗?你是胜利者吗?你战胜自己了吗?你能控制感情吗?你可以主宰你的美德吗?你的渴望是动物般的需要呢,还是孤独或内心冲突的表现?我希望你拥有胜利和自由后再渴望孩子,你应当为自己的...

胡适:人生问题

1903年,我只有十二岁,那年12月17日,有美国的莱特弟兄作第一次飞机试验,用很简单的机器试验成功,因此美国定12月17日为飞行节。12月17日正是我的生日,我觉得我同飞行有前世因缘。我在前十多年,曾在广西飞行过十二天,那时我作了一首《飞行小赞》,这算是关于飞行的很早的一首辞。诸位飞过大西洋、太...

Socket的简单使用记录

前言Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信。两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据。而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,...