Aspects.jcabi:@Loggable不会将日志添加到输出中



我厌倦了添加手动日志来调试我编写的每个方法。

我开始了解@Loggablejcabi的注释,但没有成功实现它,非常感谢您的帮助。

以下是我尝试过的代码。

import com.jcabi.aspects.Loggable;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class Jcabi {
@Loggable
private static String checkJcabi(String stringToPrint) {
log.info("Print Successfull");
return stringToPrint;
}
public static void main(String[] args) {
checkJcabi("Hello World!");
}
}

IDE 控制台打印以下内容:

[main] INFO com.amazon.optimus.cpamutil.utils.Jcabi - Print Successfull

这是我在方法中添加的log.info()的日志,并且没有像这篇文章中提到的@Loggable注释的日志(如下)

[INFO] com.example.Foo #power(2, 10): 1024 in 12μs
[INFO] com.example.Foo #power(3, 3): 27 in 4μs

以下是我使用的依赖项包:

JCabiAspect = 1.0;
方面J = 6.0;
Slf4j = 1.7;
Slf4j_Simple = 1.7;

如果您需要更多详细信息,请告诉我。谢谢。

你需要对二进制文件进行编织,如下所述:http://aspects.jcabi.com/example-weaving.html

你需要做二进制编织。在您链接的帖子中,它是这样说的,并且还说您可以使用 jcabi-maven-plugin 为您编织,因为您使用的是 maven。

只需将一些依赖项添加到您的类路径中,并配置 jcabi-maven-plugin 以进行方面编织(在 Maven Central 中获取它们的最新版本)

<project>
<dependencies>
<dependency>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-aspects</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>ajc</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

如果您使用的是 gradle,则可以使用此 gradle-aspectj-binary 插件

最新更新