`

Android 日志打印功能及项目

 
阅读更多
package com.test.util;

import com.test.BuildConfig;

/**
 * Wrapper API for sending log output.
 */
public class AppLog {
	protected static final String TAG = "AppLog";

	private AppLog() {
	}

	/**
	 * Send a VERBOSE log message.
	 *
	 * @param msg
	 *            The message you would like logged.
	 */
	public static void v(String msg) {
		if (BuildConfig.DEBUG)
			android.util.Log.v(TAG, buildMessage(msg));
	}

	/**
	 * Send a VERBOSE log message and log the exception.
	 *
	 * @param msg
	 *            The message you would like logged.
	 * @param thr
	 *            An exception to log
	 */
	public static void verbose(String msg, Throwable thr) {
		if (BuildConfig.DEBUG)
			android.util.Log.v(TAG, buildMessage(msg), thr);
	}

	/**
	 * Send a DEBUG log message.
	 *
	 * @param msg
	 */
	public static void debug(String msg) {
		if (BuildConfig.DEBUG)
			android.util.Log.d(TAG, buildMessage(msg));
	}

	/**
	 * Send a DEBUG log message and log the exception.
	 *
	 * @param msg
	 *            The message you would like logged.
	 * @param thr
	 *            An exception to log
	 */
	public static void debug(String msg, Throwable thr) {
		if (BuildConfig.DEBUG)
			android.util.Log.d(TAG, buildMessage(msg), thr);
	}

	/**
	 * Send an INFO log message.
	 *
	 * @param msg
	 *            The message you would like logged.
	 */
	public static void info(String msg) {
		if (BuildConfig.DEBUG)
			android.util.Log.i(TAG, buildMessage(msg));
	}

	/**
	 * Send a INFO log message and log the exception.
	 *
	 * @param msg
	 *            The message you would like logged.
	 * @param thr
	 *            An exception to log
	 */
	public static void info(String msg, Throwable thr) {
		if (BuildConfig.DEBUG)
			android.util.Log.i(TAG, buildMessage(msg), thr);
	}

	/**
	 * Send an ERROR log message.
	 *
	 * @param msg
	 *            The message you would like logged.
	 */
	public static void error(String msg) {
		if (BuildConfig.DEBUG)
			android.util.Log.e(TAG, buildMessage(msg));
	}

	/**
	 * Send a WARN log message
	 *
	 * @param msg
	 *            The message you would like logged.
	 */
	public static void warn(String msg) {
		if (BuildConfig.DEBUG)
			android.util.Log.w(TAG, buildMessage(msg));
	}

	/**
	 * Send a WARN log message and log the exception.
	 *
	 * @param msg
	 *            The message you would like logged.
	 * @param thr
	 *            An exception to log
	 */
	public static void warn(String msg, Throwable thr) {
		if (BuildConfig.DEBUG)
			android.util.Log.w(TAG, buildMessage(msg), thr);
	}

	/**
	 * Send an empty WARN log message and log the exception.
	 *
	 * @param thr
	 *            An exception to log
	 */
	public static void warn(Throwable thr) {
		if (BuildConfig.DEBUG)
			android.util.Log.w(TAG, buildMessage(""), thr);
	}

	/**
	 * Send an ERROR log message and log the exception.
	 *
	 * @param msg
	 *            The message you would like logged.
	 * @param thr
	 *            An exception to log
	 */
	public static void error(String msg, Throwable thr) {
		if (BuildConfig.DEBUG)
			android.util.Log.e(TAG, buildMessage(msg), thr);
	}

	/**
	 * Building Message
	 *
	 * @param msg
	 *            The message you would like logged.
	 * @return Message String
	 */
	protected static String buildMessage(String msg) {
		StackTraceElement caller = new Throwable().fillInStackTrace()
				.getStackTrace()[2];

		return caller.getClassName() + "." + caller.getMethodName() + "(): "
				+ msg;
	}
}

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Android-AndroidLog日志打印输出到文件方便查看和上传到服务器

    标题"Android-AndroidLog日志打印输出到文件方便查看和上传到服务器"所描述的,就是一种将Android应用的日志信息写入到本地文件的方法,以便后续分析或上传到远程服务器。这个方法能够帮助开发者在无法直接访问设备...

    Android-XLog一个简易的日志打印框架

    **Android-XLog简易日志打印框架详解** 在Android应用开发中,日志打印是一个不可或缺的环节,它能帮助开发者在调试、排错时快速定位问题。`XLog`是一个轻量级的日志打印框架,其设计目标是提供简单易用且功能强大...

    android自定义打印日志

    为了应对这一问题,我们可以自定义日志打印功能,将日志信息写入到设备的SD卡中,以便于用户或开发者在离线状态下进行测试和分析。 自定义打印日志主要涉及到以下几个知识点: 1. **Android权限**:在...

    android日志打印工具类

    本篇文章将详细解析如何创建并使用这样一个“android日志打印工具类”。 首先,让我们了解Android系统自带的日志API——`Log`类。`Log`类提供了多种静态方法,如`d()`, `i()`, `w()`, `e()`等,分别用于打印DEBUG、...

    Android-logger日志打印工具

    "Android-logger日志打印工具"是一个专门为Android平台设计的日志库,它提供了比Android原生`Log`类更加强大、灵活和可定制的日志输出功能。下面将详细介绍这个工具的主要特性、使用方法以及它如何提升Android应用的...

    Android-OkHttp的请求拦截器实现请求拦截打印日志到logcat

    本文将详细讲解如何利用OkHttp的请求拦截器(Interceptor)实现请求的拦截并打印日志到logcat,这对于调试和监控网络请求极其有用。 首先,我们来了解什么是OkHttp的Interceptor。Interceptor是OkHttp框架中的一个...

    android USB打印小票,二维码

    在Android平台上实现USB打印小票和二维码是一项技术性较强的任务,涉及到硬件接口、软件驱动以及打印格式的...在实际项目中,可能还需要考虑错误处理、日志记录、设备兼容性等问题,以确保打印过程的稳定性和可靠性。

    Android-日志打印和管理工具可以直接打印对象存文件

    Android系统内置了Log类,提供了基本的日志打印功能,包括LOGV(verbose)、LOGD(debug)、LOGI(info)、LOGW(warning)、LOGE(error)和LOGF(fatal)等不同级别,开发者可以根据需要选择合适的级别进行打印。...

    android离线日志文件打印

    在Android开发中,有时我们需要对应用的运行状态进行监控,以便于调试或分析问题...学习和理解这个示例,开发者可以更好地掌握在Android环境中实现离线日志记录的方法,从而在实际项目中更加高效地进行问题排查和调试。

    Android-可保持线程日志统一输出多线程不混乱

    "Android-可保持线程日志统一输出多线程不混乱"这个主题关注的是如何在多线程环境中,有效地组织和打印线程相关的日志,以便于开发者追踪和理解程序执行流程。在多线程环境下,如果不对日志进行适当的管理,不同线程...

    安卓日志分析崩溃拦截相关-Android控制整个项目Log的打印和关闭.zip

    2. **自定义日志类**:创建一个自定义的日志类(如`MyLog`),可以统一管理所有日志打印,实现动态开关,以及添加额外的信息,如线程名、时间戳、类名和方法名等,便于追踪和分析。 3. **日志拦截**:在自定义的...

    Android日志工具类

    这个工具类通常会提供更丰富的功能,比如分类、颜色标记、打印堆栈轨迹等,以提升日志的可读性和实用性。 首先,我们来看一下`Log`类的基本用法。Android的`Log`类提供了五个静态方法,分别是`v()`(verbose)、`d...

    Android-Cloglogger实现标准的Android日志

    总的来说,`ClogLogger`是一个优秀的Android日志库,它提供了丰富的功能和定制选项,旨在提升Android开发中的日志管理体验。通过深入理解和使用,开发者可以更好地利用日志来辅助软件开发和维护。

    安卓日志分析崩溃拦截相关-android离线日志文件打印.rar

    1. **日志级别**:Android日志系统提供多种级别,包括VERBOSE、DEBUG、INFO、WARN、ERROR和ASSERT。开发者可以根据需要设置合适的级别,便于在不同阶段过滤和查看日志。 2. **LogCat**:LogCat是Android系统提供的...

    Android-它是完全基于Kotlin开发的Android日志框架提供极简的日志风格

    3. **性能优化**:由于是在Kotlin中实现,可能利用了Kotlin的语法糖和编译器优化,使得日志打印过程尽可能轻量且高效。 4. **日志过滤**:可能提供了动态过滤功能,根据需要只显示特定级别的日志,避免屏幕被过多的...

    Android-PLog一个轻量的Android端日志打印记录库

    **Android-PLog:轻量级Android日志记录库** 在Android应用开发中,日志记录是调试、排错和理解应用程序行为的关键工具。通常,Android系统自带的日志系统(Logcat)可以满足基本需求,但在某些复杂场景下,如需要...

    Android高级应用源码-日志记录,开源项目使用方法见说明.rar

    通过分析这个开源项目的源码,我们可以深入理解Android日志系统的工作原理以及如何优化日志输出。 首先,Android的日志系统主要包括`Log`类,它是Android SDK中用于打印日志的基本工具。`Log`类提供了多种静态方法...

    Android-PLog是一个Android专用的日志封装库

    传统的Android日志系统虽然功能基础,但有时并不足以满足开发者的需求,尤其是在处理大量日志数据或需要定制化输出格式时。`Android-PLog`是一个专为Android平台设计的日志库,它旨在提供一个轻量级、易用且高度可...

    基于 Android NDK 的学习之旅-----JNI LOG 打印

    在Android中,通常我们使用`Log`类来打印日志,而在JNI中,我们需要使用特定的API来进行LOG打印。在JNI中,我们可以调用`__android_log_print()`函数,它位于`<android/log.h>`头文件中。这个函数接受五个参数:...

Global site tag (gtag.js) - Google Analytics