Language Basics Java

/*
Logging In Java with the JDK 1.4 Logging API and Apache log4j
by Samudra Gupta    
Apress Copyright 2003 
ISBN:1590590996
*/
import org.apache.log4j.Logger;
import org.apache.log4j.NDC;
public class AdvancedLogging {
  private static Logger logger = Logger.getLogger("name");
  private String userName = null;
  private double balance;
  /** Creates a new instance of AdvancedLogging */
  public AdvancedLogging(String user) {
    this.userName = user;
  }
  /**
   * Deposit some amount
   */
  public void deposit(double amount) {
    NDC.push(userName);
    balance += amount;
    logger.info("Deposited " + amount + " new balance: " + balance);
    NDC.pop();
  }
  /**
   * withdraw some amount
   */
  public void withdraw(double amount) {
    NDC.push(userName);
    if (balance >= amount) {
      balance -= amount;
      logger.info("Withdrawn " + amount + " new balance: " + balance);
    } else {
      System.out.println("Not enough balance");
      logger.error("Failed to withdraw: balance: " + balance
          + " attempted withdraw: " + amount);
    }
    NDC.pop();
  }
  public static void main(String args[]) {
    AdvancedLogging demo = new AdvancedLogging("sam");
    demo.deposit(100.50);
    demo.withdraw(80);
    demo.withdraw(50);
  }
}