title: AOP with Springboot, java.io.PrintStream
body: <p>built a simple springboot application with some aspects checking architecture and so on.</p>
  
  <p>i try to catch every call to System.out.println() to give warning about usage
  so that is what i've found so far:</p>
  
  <p>System.out.println() uses PrintStream so that i've tried this:</p>
  
  <pre><code>@Aspect
  @Component
  public class CleanCodeAspect {
  
      @Before("call(void java.io.PrintStream.println(String))")
      public void beforePrintlnCall() {
          System.out.println("About to make call to print Hello World");
     }
  
  }
  </code></pre>
  
  <p>But with no success. 
  The log says</p>
  
  <pre><code>The pointcutexpression call(void java.io.PrintStream.println(String)) contains unsupported pointcut primitive 'call'
  </code></pre>
  
  <p>A similar Aspect is working, but with execution instead of call:</p>
  
  <pre><code>@Aspect
  @Component
  public class BooleanServiceMonitor {
  
      @Before("execution(* de.fhb..*Service.*(java.lang.Boolean))")
          public void logServiceAccess() {
              System.out.println("You used a method with only one boolean parameter. "
                      + "Refactor it into 2 methods with True, False at the end.");
          }
  
      }
  </code></pre>