public void test(int x) {
:
x++;
logger.info("This is a test" + x);
:
try {
:
} catch (Exception e) {
throw new ...
}
:
}
捕获日志的旧方法如上图所示。以下是我的问题:
>
如果我使用Spring AOP实现上述方法,这个记录器将被删除,但是Spring AOP是否能够捕获这个日志消息?(据我所知,Spring AOP不查看方法内部)
如果第1)条的答案是肯定的,那么如何做到?
我假设在实现Spring AOP之后,上面的代码应该是这样的。记录器调用不再在测试方法中,因为它将由方面类处理。这不正是AOP的目的吗?从对象中移除横切关注点(因为它与对象的实际服务无关),并由方面类来处理?
public void test() {
:
try {
:
} catch (Exception e) {
throw new ...
}
:
}
如果Spring AOP不能做到这一点,那么AOP还有什么意义呢?
我很难理解你在这里的要求。总的来说,我不知道“在方法中捕获日志”是什么意思,但我想我无论如何都可以提供一些帮助。
在我看来,您想要任意地将代码插入方法中的随机点,而不一定是在方法的开头或结尾。一般来说,Spring AOP不能做到这一点,而且我不确定AspectJ是否能够提供任何帮助,但我不太熟悉这一点,无法给您一个明确的答案。
正如您所说的,Spring AOP可以在代码库中的各种连接点之前/之后/周围注入。这些连接点将是方法,并且仅在Spring托管类中。
代码:
public void test() {
System.out.println("I am in a method now");
}
方面:
@Around("execution(public * *(..))")
public void publicMethods(ProceedingJoinPoint pjp) {
System.out.println("before in an aspect");
pjp.proceed();
System.out.println("after in an aspect");
}
这实际上将初始方法转换为以下方法(以及将这些system.out
添加到所有公共方法中):
public void test() {
System.out.println("before in an aspect");
System.out.println("I am in a method now");
System.out.println("after in an aspect");
}
问题内容: 如何在页面评估中进行console.log记录,将其传递给节点并在页面评估 期间 使用它? 我实际上想记录页面的进度。评估到控制台并向用户显示一些结果。 问题答案: **已更新,可与puppeteer v1.4.x一起使用 如果您只想“记录页面进度,请评估到控制台”,则只需 和使用在像往常一样,不需要更多的依赖关系。
我需要捕获私有的内部调用方法。 然而,却始终得不到建议。我该怎么解决呢? 我也尝试过这个切入点: 和建议:
问题内容: 请看下面的代码: 在上面的代码中,在方法ModifyList()中声明的匿名内部类的实例能够访问传递给该方法的参数。AFAIK Java为内部类创建一个单独的字节码文件。 谁能解释一下Java在字节码级别上如何处理这些局部变量绑定?我的意思是,Java如何精确跟踪对作为参数传递给该方法的对象的引用? 任何帮助将不胜感激! [抱歉我的英语不好! 如果您理解我的问题,请编辑这篇文章,并删除
我正在将grails 2.5.4应用程序中的log4j依赖项从1.2.17升级到最新版本2.17.1 我从BuildConfig.groovy中排除了log4j,并添加了与v2.17.1相关的以下依赖项: log4j api log4j核心 log4j-1.2-api log4j-slf4j-impl 我用的是log4-1。x桥接以减少总体代码基更改。 我添加了以下log4j2。conf目录下的属
本文向大家介绍Python pyinotify日志监控系统处理日志的方法,包括了Python pyinotify日志监控系统处理日志的方法的使用技巧和注意事项,需要的朋友参考一下 前言 最近项目中遇到一个用于监控日志文件的Python包pyinotify,结合自己的项目经验和网上的一些资料总结一下,总的原理是利用pyinotify模块监控日志文件夹,当日志到来的情况下,触发相应的函数进行处理,处理
主要内容:Logger日志方法的例子,Logger的日志方法Logger 类有多种方法来处理日志记录活动。Logger 类不允许我们实例化一个新的 Logger 实例,但它支持两种获取 Logger 对象的静态方法: 两个方法中的第一个返回应用程序实例的根记录器,它没有名称。 任何其他命名的 Logger 对象实例都是通过传递记录器的名称由第二种方法获得的。记录器的名称可以是您传递的任何字符串,通常是类或包名称,如下所述: Logger日志方法的例子 Lo