/*
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);
}
}
|