$ cat u.java
import java.util.logging.Logger;
class u {
  public static void main(String args[]) {
    final Logger printLog = 
      Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);
    printLog.info("In main()");
    }
  }
$ javac -Xlint u.java
$ java u
Mar 5, 2008 5:10:25 PM u main
INFO: In main()
$ 

SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST
severe(String msg)
warning(String msg)
and so on
class LoggerHome {
  public static final Logger logger;
  static {
    // initialize logger appropriately.
    }
  }
class Blob {
  int moo() {
    LoggerHome.logger.info("In Blob.moo()");
    }
  }
public static void main(String arg[]) {
  Logger logger = ...;
  Blob b = new Blob(logger);
  Glob g = new Glob(logger);
  }
LogManager singleton instance provides a
  third way to manage Logger instances.
    LogManager.getLogManager() returns a reference to the instance. 
    

body.neurological.brain.cerebrum
LogManager.getLogger() retrives the named logger instance.
final Logger log = 
  LogManager.getLogger(
    "body.digestive.esophagus.throat");
log.info("gulp");
assert bool-expr
  throws an AssertionError if the boolean expression
  evaluates to false. 
    
-ea or -enableassertions java command-line
  arguments.
  -ea:package-name -ea:class-name
$ cat u.java
class u {
  public static void
  main(String args[]) {
    assert false;
    }
  }
$ javac u.java
$ java u
$ java -ea u
Exception in thread "main" java.lang.AssertionError
 at u.main(u.java:4)
$ 
assert bool-expr : expr
used as a message for the assertion exception.
toString() if needed. 
    
$ cat u.java
class u {
  public static void
  main(String args[]) {
    assert false : "boom!";
    }
  }
$ javac u.java
$ java -ea u
Exception in thread "main" 
        java.lang.AssertionError: boom!
        at u.main(u.java:4)
$ 
int i = path.lastIndexOf('/')
assert i > -1 : "Missing / in path"
assert i < path.length() : "Missing name"
int moo(Object o)assert o != null : "null argument";if (o == null) throw new IllegalArgumentException();