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

Android  2017年10月25日 am8:41发布7年前 (2017)更新 91es.com站长
70 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.91es.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. 2023: nginx服务器开启Gzip(0条评论)
  2. 2021: 拷贝文件时异常断电导致文件拷贝失败(0条评论)
  3. 2019: 川端康成:父母的心(0条评论)
版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

ubuntu nginx简单记录

前言记录一下nginx的简单使用,stop ,start restart,记录于此是方便自己查阅。正文stopsudo service nginx stopstartsudo service nginx startrestartsudo service nginx restart...

720P、1080P、2K、4K的简介

前言简单记录一下720P(高清)、1080i 、1080P(全高清)、2K、4K相关内容。正文一、分辨率后缀的含义PP, 是Progressive的缩写, 表示逐行扫描720P,1080P等,表示的是“视频像素的总行数”,比如,720P表示视频有720行的像素,而1080P则表示视频总共...

Android中走马灯相关问题总结

前言Android开发中,应该都或多或少使用过TextView的走马灯(或跑马灯)。对于走马灯存在的问题,网上很多,我也在这里整(抄)理(袭)一下,方便自己查阅。跑马灯耗CPU可以BiuTextView替换,请访问------>《BiuTextView完美替代TextView进行跑马...

使用Android Studio编译assets文件未打包进apk

前言从Eclipse项目中移植到Android studio编译后或者新创建项目然后自己新创建assets目录,编译打包后,发现assets并没有在apk。如何确定是否编译进入,可以考虑解压apk(apk就是一个压缩文件,后缀改成zip解压即可)。解决assets文件未打包进apk下面有两...

自定义SeekBar样式

前言简单记录一下使用shape定制Seekbar样式。正文这里主要在参考文章末尾连接修改的。谢谢。自定义thumb/res/drawable/seek_bar_thumb.xml<?xml version="1.0" encoding="utf-8"?><shape...

Android Button 字母自动变大写记录

前言开发中,Button控件的Text 自动转为大写字母,这里记录一下,方便自己查询。好记性不如烂笔头正文字母自动变大写的原因只要我们用的Theme是Material或API Level 21+的默认 Theme,Button上的Text默认就是大写。解决方式第一种方法在Xml中的...