用于动态获取当前方法名称的较短方法[重复]

2024-03-29

我正在寻找一种方法来获取当前方法的名称,而无需创建空白对象。有没有办法做到这一点?这将整理我们的日志代码。

这是我们现在要做的:

new Object() {}.getClass().getEnclosingMethod().getName(

怎么样Thread.currentThread().getStackTrace()[1]?

由于这使您能够检查更高级别的堆栈跟踪,因此您可以轻松地将其包装在辅助方法中(见下文)。它还使您可以选择获取比方法名称更多的信息,例如文件名、行号等。

edit辅助方法可能看起来像这样(感谢@Esailija):

public static String getMethodName() {
    return Thread.currentThread().getStackTrace()[2].getMethodName();
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于动态获取当前方法名称的较短方法[重复] 的相关文章

  • war文件可以部署在任何服务器上吗?

    如果这个问题很愚蠢 请原谅我 假设我使用 Spring 框架和 MS SQL Server 数据库以及 WebSphere 应用程序服务器开发一个 J2EE Web 应用程序 我后来为此应用程序创建了一个 WAR 文件 我可以在不更改代码的
  • 使用递归查找数组中的最大值

    对于我被要求解决的问题之一 我使用 for 循环找到了数组的最大值 所以我尝试使用递归来找到它 这就是我想到的 public static int findMax int a int head int last int max 0 if h
  • Jprofiler Linux 上的远程分析。如何更改探查器数据文件的路径

    我正在 Linux 盒子上运行 java java 6 应用程序并进行其他设置 agentpath home myuser jprofiler bin linux x64 libjprofilerti so nowait 端口 7777 在
  • JMS队列消息接收顺序

    我按顺序在同一目标中添加两条 JMS 消息 这两条消息的接收顺序是否与我添加它们的顺序相同 或者是否有可能进行相反的排序 即首先检索目的地中首先接收到的消息 我将添加到目的地 producer send Msg1 producer send
  • Eclipse 构建 Android 应用程序:如何在编译时创建两个版本?

    我正在编写一个 Android 应用程序 并希望基于相同的代码创建两个版本 免费版本和高级版本 我有两个版本的一个代码库 具有各种运行时检查来启用或禁用某些功能 例如 public class MyAppContext extends Ap
  • Ant 复制文件而不覆盖

    Is there any command in ant to copy files from one folder structure to another without checking the last modified date t
  • 如何用Spring进行只读和读写的数据库路由

    我正在研究 Spring 中的事务路由 但我的应用程序存在运行时问题 我有两个 MySQL 数据库 一个用于读取 一个用于读 写 但是我的路由配置不起作用 当我应用只读配置时 我没有成功 这是我的配置 pom xml
  • TreeSet 给出不正确的输出 - Java8

    在处理树集时 我发现了非常奇怪的行为 根据我的理解 以下程序应该打印两行相同的行 public class TestSet static void test String args Set
  • mapFragment.getMapAsync 处的 NullPointerException

    在解决了与我的标题相关的问题后 我找不到问题的解决方案 我有一个NullPointerException at mapFragment getMapAsync 下面是我的MapActivity code package com exampl
  • JUnit 测试 Spymemcached 客户端

    我有一个类围绕spymemcached 客户端 我想编写一些JUnit 测试来测试getValue 和addKey 方法是否有效 问题是无法从测试服务器访问spymemcached 服务器 所以我想这里需要一些模拟 我的简化类看起来像这样
  • 递归 - 与 Java 中不重复的数组相结合

    所以我知道如何获取组合的大小 数组大小 在我的例子中 除以所需数组子集大小的阶乘 我遇到的问题是获取组合 到目前为止 我已经阅读了 stackoverflow 上的大部分问题 但一无所获 我认为我发现的问题是我想将创建的组合子集中的元素添加
  • 字符串文字的行为令人困惑

    下面的代码中字符串文字的行为非常令人困惑 我可以理解第 1 行 第 2 行和第 3 行是true 但为什么是第 4 行false 当我打印两者的哈希码时 它们是相同的 class Hello public static void main
  • java中使用[:punct:]函数的正则表达式

    我在用 punct 替换 a 中特殊字符的函数 字符串例如 REPLACE REGEXP REPLACE 第 1 列 punct 作为输出 作为java中SQL字符串的一部分 但我想要特定的特殊字符 不被替换 你能建议最好的方法吗 Acc
  • 如何在 selenium Chrome 功能中设置默认下载目录?

    请查找以下具有 chrome 功能的代码 事实上浏览器并没有将文件下载到指定的路径 private static DesiredCapabilities getChromeCapabilities throws Exception Stri
  • java SWT透明复合背景

    我有复合对象 Composite composite new Composite shell SWT NONE composite setBounds new Rectangle 10 10 100 100 我如何使这个组合具有透明背景 我
  • Java HashSet 具有自定义相等标准? [复制]

    这个问题在这里已经有答案了 我一直在寻找类似于 Java TreeSet 在实例化时接收自定义比较器的能力 因此我不需要使用对象的默认相等 和哈希码 标准 我能想到的最接近的方法是将我的对象包装在一个私有的自定义类中 但这看起来很老套 这最
  • 将 JSON 与嵌套数组和 json 进行比较(数组顺序无关紧要)

    你好 我正在尝试比较java中的两个json 每个键可以包含一个json对象或json对象数组 并且它们中的每个也可以是数组或json 这是 Json 的示例 id 123123asd123 attributes name apps val
  • Spring 如何在登录网址上设置动态前缀

    我有一个始终以动态前缀开头的 Spring 应用程序 这是因为我需要该前缀来进行一些内部配置 问题是 当我尝试设置登录页面时 无法传递该前缀并使其工作 如何为我的登录页面设置动态前缀 这是我的 AppController 的一部分 我在其中
  • 滚动文件实现

    我一直很好奇滚动文件是如何在日志中实现的 如何开始用任何语言创建一个文件写入类 以确保不超过文件大小 我能想到的唯一可能的解决方案是 write method size file size size of string to write i
  • Spring MVC - 两次提供内容

    我已经花了一周时间寻找有关如何将内容服务器到我的网页的指导 两次 因为使用 Model 或 ModelAndView 切断内容一次可以工作 但如果用户再次与页面交互 我希望它加载更多内容同一页 Java Spring 后端方法 Get 有效

随机推荐

  • 使用 ReadDirectoryChangesw 时如何绕过 UAC?

    我有一个应用程序需要通过以下方式监视主驱动器的文件更改ReadDirectoryChangesW 但是 当UAC启用时 它不起作用 所有 Windows API 调用均成功 但我没有收到任何更改通知 我可以通过单独监视根目录中的每个目录来解
  • 在多维空间中将多个子矩阵重塑/组合为一个矩阵

    我有一个大小为 2 2 4 2 2 的 5D 二进制数组 a 结构如下所示 例如 a 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 我想要做的是创建一个 2 2 4 4 矩阵 将最后两个轴的 2x2 矩阵组合在一起
  • 将字符串转换为整数的简短方法[重复]

    这个问题在这里已经有答案了 我通常这样做将字符串转换为整数 my input int my input 但我想知道是否有一种不那么笨拙的方法 因为感觉有点长 my input int my input 没有比使用更短的方法了int http
  • 新的 Asp.Net MVC5 项目产生登录页面的无限循环

    我正在使用 Visual Studio 2013 创建一个全新的项目 我选择 Asp Net MVC 和框架 4 5 1 创建项目 然后 除了 F5 启动默认网页之外 我什么也不做 不幸的是 它会生成一个到登录页面的重定向 该页面也重定向到
  • 在 Access 2007 中删除多个表中的记录

    使用以下数据 我尝试从两个表中删除匹配的记录 Fruits ID值1 个苹果2 梨3 香蕉4 葡萄 Animals ID值1 只 熊2 猴子3 苹果 4 Pig 这两个表之间没有定义的关系 由于 Apple 出现在两个表中 我想从每个表中删
  • 请求线程外部的 ASP.NET Core RC2 SignalR Hub 上下文

    我目前正在尝试RC2释放ASP NET Core我遇到了一个问题SignalR 我需要能够在请求线程之外向客户端发送消息 现在 在完整的 NET 框架中 您可以执行以下操作 var context GlobalHost Connection
  • 是否可以使用 Apache Beam / Google Cloud Dataflow 从 Azure EventHub 主题进行消费?

    Problem 我们希望使用 Google Cloud 中的数据流管道来使用 Azure 中的 EventHub 主题 Question 是否知道 KafkaIO 是否允许直接在 Apache Beam Google Cloud 数据流作业
  • 强制用户使用 Burn 重新启动计算机

    我有一个使用 WiX 3 6 创建的引导加载程序Burn http en wikipedia org wiki WiX Burn并想知道是否有类似的命令
  • MySQL ODBC 5.1 驱动程序向 ADODB 返回错误的数据类型

    情况 使用遗留的经典 ASP 代码 尝试将代码库从旧服务器移动到新服务器 该代码尝试使用 MySQL ODBC 5 1 驱动程序和 ADODB Connection 对象连接到 Windows 服务器上的 MySQL 数据库 Connect
  • RealityKit – 为什么 AnchorEntity 位置始终为 (x: 0, y: 0, z: 0)

    我正在使用以下方法将物体放置在平面上 它可以工作 但锚点的位置始终为 0 0 0 即使它是基于光线投射结果的 let results arView raycast from tappedLocation allowing estimated
  • Google 图表作为图像

    我正在尝试使用 Google 图表在电子邮件中嵌入图表图像 所以每个用户都会有一个独特的图表 我们可以使用 API 并嵌入一个唯一的 URL 来呈现图表并将图像传递给电子邮件客户端吗 您可以使用以下方法获取图表的 PNG 版本chart g
  • 如何查找两个日期之间的年份和月份差异?

    DateTime dayStart DateTime dateEnd TimeSpan ts dateEnt dateStart 打印 年和 月 我怎样才能计算它 net框架2 0 c ASP NET 项目 你应该首先阅读这篇文章 http
  • 如何创建指令以禁用 div 元素中的所有元素

    如何创建一个指令来禁用 div 元素中的所有元素 像这样的东西 div div
  • 在 Oracle 中运行的 Java - 导入的 jar

    我正在尝试将一个小型 java 类加载到 Oracle 11g 中 以便我可以运行它并从 PL SQL 调用它 我在本地机器上用 eclipse 编码并编译了该类 并且编译得很好 我把它打包成一个jar 它所依赖的其他jar文件也放在jar
  • 画一条线连接两个矩形

    我正在 Swing AWT 中制作自己的类图应用程序 但我停在了这个功能上 I want to draw a line between the Class rectangle that already selected and to the
  • Vue 3 Composition API - 类似选项卡的组件中的“子”数据

    我有一个适用于 Vue 3 和 Vue 2 的 TabGroup TabItem 组件 但它是在选项 API 中编写的 我正在创建一个新的轮播组件 它共享许多功能 但我尝试将其编写在 Composition API 中 因为这就是我们现在在
  • C++ 中 IsA() 有什么意义?

    我试图弄清楚为什么一些代码库使用 IsA 来确定对象多态性 如果在 C 中你已经可以安全地向上转换和向下转换 使用dynamic cast 到目前为止 我认为唯一有用的情况是当您集成链接到 C 代码库的脚本环境时 Thanks 原因很少 并
  • 使用 H2 Web 界面浏览 Corda 数据库表显示同义词错误

    我按照以下说明进行操作this https docs corda net node database html node database浏览 corda 数据库的链接 但是 当我查询表时 出现以下错误 Error Table SYNONY
  • 用静态库打包 Bundle

    我有一个包含一些 xib 的静态库 这些在项目中基本上是相同的 我想将 xibs 作为库的一部分 我可以包含他们的 veiwcontrollers 在调用项目中引用这些控制器 但是没有要加载的 xib 当我右键单击库项目中的 xib 时 它
  • 用于动态获取当前方法名称的较短方法[重复]

    这个问题在这里已经有答案了 我正在寻找一种方法来获取当前方法的名称 而无需创建空白对象 有没有办法做到这一点 这将整理我们的日志代码 这是我们现在要做的 new Object getClass getEnclosingMethod getN