- 浏览: 599949 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
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; } }
- AndroidTest.zip (3.1 MB)
- 下载次数: 0
发表评论
文章已被作者锁定,不允许评论。
-
android BaseActivity与BaseFragment的封装
2016-05-19 15:06 10391 概述 多模块Activity+多Fragment 是开发 ... -
android ScrollView常用属性
2016-05-09 09:17 729android:scrollbars 设置滚动条显示。none ... -
android RecyclerView使用及详解
2016-05-04 10:35 29241.前言 话说RecyclerView已经面市很久,也在很多 ... -
android DialogFragment 创建对话框(官方推荐)
2016-04-29 14:22 9271、 概述 DialogFragment在android 3. ... -
android Intent Flags及Task相关属性
2016-04-26 09:15 643task是一个具有栈结构的容器,可以放置多个Activity实 ... -
android SQLite具体实例应用详解(SQLiteOpenHelper)
2016-04-18 19:24 839上次我向大家介绍了SQLite的基本信息和使用过程,相信朋友们 ... -
android SQLite3常用命令&语法
2016-04-18 19:01 645sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常 ... -
android View绘制相关问题总结
2016-03-28 19:27 7061.View的绘制流程分几步 ... -
android Handler Looper MessageQueue机制的原理
2016-03-22 21:09 790andriod提供了Handler和Looper来满足线程间的 ... -
android Bitmap,BitmapFactory类图像处理
2016-03-16 16:28 2393BitMap代表一张位图,扩展名可以是.bmp或者.dib。 ... -
android 三类菜单(Option) (Context) (SubMenu)学习
2016-03-14 15:23 949在Android系统中,菜单可以分为三类:选项菜单(Optio ... -
android Sqlite数据库对象模型ORMLite框架学习
2016-03-11 15:24 730在Android项目中或多或少的都会使用数据库,为了提高我们的 ... -
android AsyncTask<参数,进度值类型,返回类型>学习
2016-03-10 14:45 1205AsyncTask和Handler对比 1 ... -
android 远程图片获取和本地缓存
2016-03-10 14:32 803概述 对于客户端——服 ... -
android onSaveInstanceState和onRestoreInstanceState学习
2016-03-10 10:08 826Android中的activity通过onSaveInst ... -
android Fragment生命周期和回退栈学习以及Fragment之间通信
2016-03-10 09:31 1555会涉及到Fragment如何产生,什么是Fragment,Fr ... -
android LruCache内存缓存学习(重写sizeOf方法)
2016-03-09 19:25 1090什么是缓存? 缓存技术原理就是把用户访问的所有对象看作一个全 ... -
android ListView中的convertView缓存及使用
2016-03-09 19:12 1737一、复用convertView 首先讲下ListView的原 ... -
android 从资源角度谈Android代码内存优化
2016-03-09 18:54 742开发人员如果在进行代码编写之前就有内存泄露方面的基础知识,那么 ... -
android startActivityForResult和setResult详情及Demo
2016-03-09 08:56 1073startActivityForResult与startAct ...
相关推荐
标题"Android-AndroidLog日志打印输出到文件方便查看和上传到服务器"所描述的,就是一种将Android应用的日志信息写入到本地文件的方法,以便后续分析或上传到远程服务器。这个方法能够帮助开发者在无法直接访问设备...
**Android-XLog简易日志打印框架详解** 在Android应用开发中,日志打印是一个不可或缺的环节,它能帮助开发者在调试、排错时快速定位问题。`XLog`是一个轻量级的日志打印框架,其设计目标是提供简单易用且功能强大...
为了应对这一问题,我们可以自定义日志打印功能,将日志信息写入到设备的SD卡中,以便于用户或开发者在离线状态下进行测试和分析。 自定义打印日志主要涉及到以下几个知识点: 1. **Android权限**:在...
本篇文章将详细解析如何创建并使用这样一个“android日志打印工具类”。 首先,让我们了解Android系统自带的日志API——`Log`类。`Log`类提供了多种静态方法,如`d()`, `i()`, `w()`, `e()`等,分别用于打印DEBUG、...
"Android-logger日志打印工具"是一个专门为Android平台设计的日志库,它提供了比Android原生`Log`类更加强大、灵活和可定制的日志输出功能。下面将详细介绍这个工具的主要特性、使用方法以及它如何提升Android应用的...
本文将详细讲解如何利用OkHttp的请求拦截器(Interceptor)实现请求的拦截并打印日志到logcat,这对于调试和监控网络请求极其有用。 首先,我们来了解什么是OkHttp的Interceptor。Interceptor是OkHttp框架中的一个...
在Android平台上实现USB打印小票和二维码是一项技术性较强的任务,涉及到硬件接口、软件驱动以及打印格式的...在实际项目中,可能还需要考虑错误处理、日志记录、设备兼容性等问题,以确保打印过程的稳定性和可靠性。
Android系统内置了Log类,提供了基本的日志打印功能,包括LOGV(verbose)、LOGD(debug)、LOGI(info)、LOGW(warning)、LOGE(error)和LOGF(fatal)等不同级别,开发者可以根据需要选择合适的级别进行打印。...
在Android开发中,有时我们需要对应用的运行状态进行监控,以便于调试或分析问题...学习和理解这个示例,开发者可以更好地掌握在Android环境中实现离线日志记录的方法,从而在实际项目中更加高效地进行问题排查和调试。
"Android-可保持线程日志统一输出多线程不混乱"这个主题关注的是如何在多线程环境中,有效地组织和打印线程相关的日志,以便于开发者追踪和理解程序执行流程。在多线程环境下,如果不对日志进行适当的管理,不同线程...
2. **自定义日志类**:创建一个自定义的日志类(如`MyLog`),可以统一管理所有日志打印,实现动态开关,以及添加额外的信息,如线程名、时间戳、类名和方法名等,便于追踪和分析。 3. **日志拦截**:在自定义的...
这个工具类通常会提供更丰富的功能,比如分类、颜色标记、打印堆栈轨迹等,以提升日志的可读性和实用性。 首先,我们来看一下`Log`类的基本用法。Android的`Log`类提供了五个静态方法,分别是`v()`(verbose)、`d...
总的来说,`ClogLogger`是一个优秀的Android日志库,它提供了丰富的功能和定制选项,旨在提升Android开发中的日志管理体验。通过深入理解和使用,开发者可以更好地利用日志来辅助软件开发和维护。
1. **日志级别**:Android日志系统提供多种级别,包括VERBOSE、DEBUG、INFO、WARN、ERROR和ASSERT。开发者可以根据需要设置合适的级别,便于在不同阶段过滤和查看日志。 2. **LogCat**:LogCat是Android系统提供的...
3. **性能优化**:由于是在Kotlin中实现,可能利用了Kotlin的语法糖和编译器优化,使得日志打印过程尽可能轻量且高效。 4. **日志过滤**:可能提供了动态过滤功能,根据需要只显示特定级别的日志,避免屏幕被过多的...
**Android-PLog:轻量级Android日志记录库** 在Android应用开发中,日志记录是调试、排错和理解应用程序行为的关键工具。通常,Android系统自带的日志系统(Logcat)可以满足基本需求,但在某些复杂场景下,如需要...
通过分析这个开源项目的源码,我们可以深入理解Android日志系统的工作原理以及如何优化日志输出。 首先,Android的日志系统主要包括`Log`类,它是Android SDK中用于打印日志的基本工具。`Log`类提供了多种静态方法...
传统的Android日志系统虽然功能基础,但有时并不足以满足开发者的需求,尤其是在处理大量日志数据或需要定制化输出格式时。`Android-PLog`是一个专为Android平台设计的日志库,它旨在提供一个轻量级、易用且高度可...
在Android中,通常我们使用`Log`类来打印日志,而在JNI中,我们需要使用特定的API来进行LOG打印。在JNI中,我们可以调用`__android_log_print()`函数,它位于`<android/log.h>`头文件中。这个函数接受五个参数:...