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

时间:2018-02-06 16:38:55

标签: java debugging logging lombok jcabi

我很无聊添加手动日志来调试我编写的每个方法。

我开始了解jcabi的@Loggable注释,但我没有成功实施,并且非常感谢您的帮助。

以下是我尝试过的代码。

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注释的日志,如下所示(如下所示)post

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

以下是我使用的依赖包。

JCabiAspects = 1.0;

AspectJ = 6.0;

Slf4j = 1.7;

Slf4j_Simple = 1.7;

如果您需要更多详细信息,请与我们联系。感谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您需要进行二进制编织。在您链接的帖子中,它这么说并且还说您可以使用 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 插件