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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • k8s安装使用_setup error怎么解决

    k8s安装使用_setup error怎么解决安装GPG秘钥:curlhttps://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg|sudoapt-keyadd-错误消失

    2022年10月10日
    2
  • 关于java中堆内存与栈内存的详细分析[通俗易懂]

    本文由java零基础入门栏目为大家推荐,文中详细分析了什么栈内存与堆内存,并为大家介绍了二者的区别,希望可以帮助到大家。堆内存用于存储Java中的对象和数组,栈内存主要是用来执行程序用的。

    2022年1月17日
    38
  • 模拟信号和数字信号的区别_模拟信号和数字信号的区别和特点

    模拟信号和数字信号的区别_模拟信号和数字信号的区别和特点根据信号中代表的取值参数的不同,信号可以分为两大类:模拟信号和数字信号1.模拟信号或连续信号指用连续变化的物理量所表达的信息,如温度、湿度、压力、长度、电流、电压等。我们通常又把模拟的信号称为连

    2022年8月2日
    5
  • 如果要将二叉树{16,14,10,8,7,9,3}_二叉分枝

    如果要将二叉树{16,14,10,8,7,9,3}_二叉分枝有一棵二叉苹果树,如果树枝有分叉,一定是分两叉,即没有只有一个儿子的节点。这棵树共 N 个节点,编号为 1 至 N,树根编号一定为 1。我们用一根树枝两端连接的节点编号描述一根树枝的位置。一棵苹果树的树枝太多了,需要剪枝。但是一些树枝上长有苹果,给定需要保留的树枝数量,求最多能留住多少苹果。这里的保留是指最终与1号点连通。输入格式第一行包含两个整数 N 和 Q,分别表示树的节点数以及要保留的树枝数量。接下来 N−1 行描述树枝信息,每行三个整数,前两个是它连接的节点的编号,第三个数是这根树枝上

    2022年8月9日
    9
  • INTELLIJ IDEA15.0.2激活码-激活码分享

    (INTELLIJ IDEA15.0.2激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S…

    2022年3月25日
    123
  • fiddler和charles哪个好用_电脑15分钟自动重启

    fiddler和charles哪个好用_电脑15分钟自动重启前言Charles是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒种的延时。此时,我们只需网上找一个注册码即可解

    2022年7月28日
    11

发表回复

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

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