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


相关推荐

  • 手动创建线程池_创建线程池的5个参数

    手动创建线程池_创建线程池的5个参数一,Executors类不建议使用自带的工具类的!使用JDK自带的Executors工具类(图中蓝色框中的那个,这是独立于线程池继承关系图的工具类,类似于Collections和Arrays)可以直接创建以下种类的线程池线程数量固定的线程池,此方法返回ThreadPoolExecutorpublicstaticExecutorServicenewFixedThreadPool(intnThreads){……}单线程线程池,此方法返回ThreadPoolExecu

    2022年10月1日
    0
  • windows CMD生成文件夹树状图(tree)命令(以图形显示驱动器或路径的文件夹结构)(tree命令、tree指令)(tree /f /a)「建议收藏」

    windows CMD生成文件夹树状图(tree)命令(以图形显示驱动器或路径的文件夹结构)(tree命令、tree指令)(tree /f /a)「建议收藏」如:也可以用相对路径:省略.\也可以:可以看到,上面只显示文件夹未能显示文件。我们继续看下面:(用加上后,显示效果明显好不少)能够将文件夹树状图生成到当前文件夹的tree.txt文件中:参考文章1:Windows中CMD命令之Tree生成目录参考文章2:treer:命令行生成目录结构的实用小工具……

    2022年7月24日
    6
  • SpringCloud原理–FeignClient

    SpringCloud原理–FeignClient本文介绍SpringCloud的FeignClient的原理。Feign服务调用的工作原理可以总结为以下几个步骤首先通过@EnableFeignCleints注解开启FeignCleint。根据Feign的规则实现接口,添加@FeignCleint注解。程序启动后,会扫描所有有@FeignCleint的类,并将这些信息注入到ioc容器中。注入时从FeignClientFactoryBean.class获取FeignClient当接口的方法被调用时,通过jdk的代理,来生

    2022年9月3日
    2
  • 博弈论学习笔记(六)纳什均衡之约会游戏与古诺模型

    博弈论学习笔记(六)纳什均衡之约会游戏与古诺模型可以将纳什均衡看成一种自我实施的协议,假设每个人都相信大家都会遵守协议,那么大家就都会遵守。纳什均衡是和领导力紧密联系的。在协调博弈中,领导力的作用就是促成人们达到某个特定均衡而不是其他均衡。尤其是某些缺乏领导的混乱状态,在这类博弈中领导力的作用举足轻重。–领导力的用武之地。举个简单的例子,如下表,很显然协调能够起到作用。αβα1,10…

    2022年10月15日
    0
  • Qt5学习笔记——QRadioButton与QButtonGroup[通俗易懂]

    Qt5学习笔记——QRadioButton与QButtonGroup[通俗易懂]【我是小标题:使用QToolButton实现radiobutton功能。】QRadioButton是什么?  下图是Windows系统中典型的radiobutton显示效果。    QRadioButton是一个可以switchon或off的按钮,对应的状态为checked和unchecked。一组QRadioButton通常用于表示程序中“多选一”的选择,例如单项选择题。在一组r

    2025年6月30日
    1
  • pytest测试框架和unittest_pytest测试框架从入门到精通

    pytest测试框架和unittest_pytest测试框架从入门到精通运行unittest时要保证默认测试环境是unittest

    2022年10月9日
    0

发表回复

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

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