Setting log level for inner class (in Glassfish)

Viewed 3375

I'm looking for a way to set the log level for an inner class, let's say I have the following class:

package mypackage;

class Outer {
   Inner inner = new Inner();

   public void logSomething() {
       Logger.getLogger(Outer.class.getName()).log(Level.FINE, "I'm alive!");
       inner.logSomething();
   } 

   class Inner {
       public void logSomething() {
           Logger.getLogger(Inner.class.getName()).log(Level.FINE, "I'm alive too!");
       }
   }
}

I can set the log level of Outer using the name mypackage.Outer. But how do I set it for Inner? I have tested the following without success:

  • mypackage.Outer
  • mypackage.Outer.Inner
  • mypackage.Outer$Inner (gives an error)
  • mypackage.Inner

Does anyone know if there is a way to do this?

2 Answers

Inner.class.getCanonicalName() is returning mypackage.Outer.Inner . So you can use

Logger.getLogger(Inner.class.getCanonicalName()).log(Level.FINE, "I'm alive too!")
Related