Java日志记录函数调用栈方法
关于getStackTrace()
public StackTraceElement[] getStackTrace()
返回一个表示该线程堆栈转储的堆栈跟踪元素数组。如果该线程尚未启动或已经终止,则该方法将返回一个零长度数组。如果返回的数组不是零长度的,则其第一个元素代表堆栈顶,它是该序列中最新的方法调用。最后一个元素代表堆栈底,是该序列中最旧的方法调用。
android/java 调用栈
将以下代码加入被调用的函数中即可
for (StackTraceElement i : Thread.currentThread().getStackTrace()) {System.out.println("TAG " +i);
}
Android简单日志封装,类名+方法名为Tag
Android的日志类使用方式一般为
Log.e(TAG,msg)
Tag值的命名一般都让人头疼,常见的做法是将Tag设为类名,但每次要打log都得给类设置一个TAG变量,写着很烦人。此篇的目的便是解决此问题,将TAG的命名抽取出来,我们只需要关心Log的msg即可。
public class LogUtils {public static void d(String msg) {Log.e(getCallerInfo(), msg);}private static String getCallerInfo() {StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();//0 VMStack.getThreadStackTrace//1 Thread.getStackTrace//2 LogUtil.getCallerInfo//3 LogUtil.e//4 CallerStackTraceElement caller = stackTrace[4];return caller.getClassName() + " " + caller.getMethodName() + " " + caller.getLineNumber();}
}
其他级别日志类似补充即可,使用方法:
LogUtils.d("hello world!")
Java日志记录函数调用栈方法相关推荐
- java common log使用,log4j和commons.logging日志记录的使用方法
# re: log4j和commons.logging日志记录的使用方法 2008-03-11 14:08 芦苇 一 最好与commons-logging一起用,why? 1.标准接口,即使将来脱离了 ...
- java日志记录的5条规则
日志记录是在软件开发过程中常常需要考虑的关键因素. 当产品运行出错时,日志文件通常是我们进行错误分析的首要选择. 而且,在很多情况下,它们是我们手上唯一可以用来查明发生状况和问题根本原因的信息. 可见 ...
- TinyLog –轻量级Java日志记录框架教程
TinyLog is a simple and lightweight logging framework for Java. We can use tinylog with Java, Kotlin ...
- 如何通过7个Logback调整立即改善Java日志记录
基准测试可帮助您发现Logback在压力下的性能 日志记录对于服务器端应用程序是必不可少的,但这是有代价的. 令人惊讶的是,微小的更改和配置调整对应用程序的日志记录吞吐量有多大影响. 在这篇文章中,我 ...
- JAVA日志记录方法
1. 一个最基本的例子 使用Logging框架写Log基本上就三个步骤 引入loggerg类和logger工厂类 声明logger 记录日志 下面看一个例子 // 1. 引入slf4j接口的Logge ...
- 用Java代码实现日志记录器_如何在此简单的Java日志记录实现中附加到日志文件? - java...
我得到了以下用于创建和管理Logger的类.每当执行代码和程序时,都会使用对静态getLogger()捕获块的调用进行记录. public class Log { private static fin ...
- Java日志记录最佳实践
作者:GeekerLou www.jianshu.com/p/546e9aace657 一.日志简介 1.1 日志是什么(WHAT) 日志:记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题 ...
- Java基础学习总结(182)——Java 日志记录实践总结
一.日志简介 1.1 日志是什么(WHAT) 日志:记录程序的运行轨迹,方便查找关键信息,也方便快速定位解决问题. 通常,Java程序员在开发项目时都是依赖Eclipse/IDEA等集成开发工具的De ...
- java exception 行号_java日志记录错误的文件_方法_行号_报错信息
1.java日志记录错误的文件.方法.行号.报错信息 StackTraceElement s= e.getStackTrace()[0]; 1.1.记录保存的文件s.getFileName() 1.2 ...
最新文章
- [LeetCode]Contains Duplicate III
- leetcode-79-单词搜索(用dfs解决)
- 专访Matt Klein关于在Lyft构建Envoy的问答
- 从一次线下读书会获得的收获
- 液相色谱柱PHP,C18液相色谱柱 - 食品仪器分析 - 食品论坛 - Powered by Discuz!
- 在 ubuntu 上编译 qtopia-2.2.0问题
- java获取时间,本周,本月,本季度的起始
- arcgis加载dwg显示一个点_Arcgis添加控制点配准校正影像,更新校正之后,其他软件打开之后,影像位置没有校正解决办法...
- VisualVM提示检测不到本地JAVA程序
- 小程序转uni-app——引入组件显示问题
- 现代软件工程讨论第一章-第四章
- swift Toast
- 使用Envato Elements Sketch插件立即创建惊人的原型
- C语言【宏定义与函数的区别】
- TransactionDefinition
- Win10 环境下 Mingw-w64,CMake,CLion 安装及配置 C/C++ 和 OpenCV 运行环境
- 李宏毅HW01——新冠疫情数据的预测
- 2021年茶艺师(中级)最新解析及茶艺师(中级)考试总结
- jis拉伸试棒图纸_一种加工拉伸试棒的装卡装置的制作方法
- 点云IO篇之las文件读写
热门文章
- c#导出Excel NPOI方式
- docker镜像打包传输
- EasyUI-tree搜索功能
- oracle db file sequential read,性能优化 ---- db file sequential read
- VCSA 上的 vmware-vpxd 服务失败,Web端提示503 服务不可用 (503 Service Unavailable)
- SUMO(四)—— Detector的运用
- 关于重装系统时读取不到硬盘和设置主板AHCI蓝屏问题
- 简单聊聊医疗直播的优势和应用场景
- [Centos7]不锁屏设置
- winServer 2012 安装mysql数据库