Perf4J@Profiled的几种写法[通俗易懂]

Perf4J@Profiled的几种写法[通俗易懂]在项目中使用Perf4J的最简便的方法就是直接在任何一个需要监控的方法上加上@Profiled注释即可。 @Profiled支持一些定制,在此记录几种@Profiled写法: 1、最简写法@Profiled     由此产生的日志语句形如: 2009-09-0714:37:23,734[main]INFOorg.perf4j.T…

大家好,又见面了,我是你们的朋友全栈君。

在项目中使用Perf4J的最简便的方法就是直接在任何一个需要监控的方法上加上@Profiled 注释即可。

 

@Profiled 支持一些定制,在此记录几种@Profiled 写法:

 

1、最简写法

@Profiled 

 

 

   由此产生的日志语句形如: 

2009-09-07 14:37:23,734 [main] INFO org.perf4j.TimingLogger - start[开始时间] time[执行耗时] tag[方法名] 

 

2、带logger标识

@Profiled(logger = "test.PriceService")

    由此产生的日志语句形如:

2009-09-07 14:37:23,734 [main] INFO test.PriceService - start[开始时间] time[执行耗时] tag[方法名] 

    简要说明:

   不加该标识,则所有的日志类名均为 org.perf4j.TimingLogger ,当2个类中的方法重名时,无法区分是哪个方法。

 

3、带tag标识

 

@Profiled(tag = "search({$0},{$1},{$2})")

    由此产生的日志语句形如: 

2009-09-07 14:37:23,734 [main] INFO org.perf4j.TimingLogger - start[开始时间] time[执行耗时] tag[search(a,b,c)] 

    简要说明:

    当方法有参数时,可以通过{$x}输出参数值,当参数为一个对象时,可以通过{$x.属性}的方式法输出对象的属性值;

  tag标识支持JEXL表达式。

 

4、带message标识 

 

@Profiled(massage= "测试")

    由此产生的日志语句形如: 

2009-09-07 14:37:23,734 [main] INFO org.perf4j.TimingLogger - start[开始时间] time[执行耗时] tag[方法名] message[测试] 

   简要说明:

   message的作用即可以在输出的内容后加上任何自定义的内容。

 

 5、带logFailuresSeparately标识 

@Profiled(logFailuresSeparately= true)

    由此产生的日志语句形如:

2009-09-07 14:37:23,734 [main] INFO org.perf4j.TimingLogger - start[开始时间] time[执行耗时] tag[方法名.failure]

   简要说明:

  加上此标识,会输出方法执行结果,成功时为方法名.success ,当方法执行中出现异常时为方法名.failure

 

 

附:官网对此项的说明地址:http://perf4j.codehaus.org/devguide.html#Using_Spring_AOP_to_Integrate_Timing_Aspects

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131362.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • acwing-2325. 有向图破坏(最小割之最小权覆盖集)「建议收藏」

    acwing-2325. 有向图破坏(最小割之最小权覆盖集)「建议收藏」爱丽丝和鲍勃正在玩以下游戏。首先,爱丽丝绘制一个 N 个点 M 条边的有向图。然后,鲍勃试图毁掉它。在每一步操作中,鲍勃都可以选取一个点,并将所有射入该点的边移除或者将所有从该点射出的边移除。已知,对于第 i 个点,将所有射入该点的边移除所需的花费为 W+i,将所有从该点射出的边移除所需的花费为 W−i。鲍勃需要将图中的所有边移除,并且还要使花费尽可能少。请帮助鲍勃计算最少花费。输入格式第一行包含 N 和 M。第二行包含 N 个正整数,第 i 个为 W+i。第三行包含 N 个正整数,第.

    2022年8月11日
    4
  • python生成时间戳_Python 获取时间戳

    python生成时间戳_Python 获取时间戳importtimetime_tup=time.localtime(time.time())printtime_tupformat_time=’%Y-%m-%d_%a_%H-%M-%S’cur_time=time.strftime(format_time,time_tup)printcur_time参考:https://blog.csdn.net/a542551042/articl…

    2022年10月3日
    2
  • docker的常用命令汇总_Docker命令

    docker的常用命令汇总_Docker命令docker常用命令合集文章目录docker常用命令合集一、docker概论二、Docker的应用场景2.1Docker的优点三、Docker架构四、docker安装4.1安装依赖包4.2设置阿里云镜像源4.3安装docker-ce4.4镜像加速4.5网络优化五、docker镜像使用六、docker容器的使用七、创建镜像八、docker的数据管理九、本地私有仓库建立十、容器互联十一、总结一、docker概论Docker是一个开源的应用容器引擎,基于Go语言并遵从Apa

    2025年12月2日
    4
  • 蓝桥杯 BASIC 29 高精度加法(大数)[通俗易懂]

    蓝桥杯 BASIC 29 高精度加法(大数)

    2022年1月29日
    47
  • Object类11种方法

    Object类11种方法Object 类 11 种方法 部分方法讲解

    2025年6月18日
    4
  • svn客户端的安装与使用教程(svn汉化教程)

    SVN服务端与客户端安装使用(客户端汉化包)客户端下载地址:https://tortoisesvn.net/downloads.zh.html下载64位SVN安装包和64位简体中文安装包安装SVN打开安装包,直接NextNext选择安装目录,如果是自定义目录要新建一个文件夹,否则会把安装文件散落在盘符(此处不安装命令行工具会导致在idea中无法使用subversio…

    2022年4月17日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号