SSISO Community

시소당

log4j: advanced log

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

687 view

4.0 stars