I wrote a logger class....

/*
 * Logger.java
 *
 * Created on December 4, 2001, 9:50 AM
 */

package com.noi.utility.log;
import org.apache.log4j.Category;
import java.util.Calendar;
import java.util.Date;

/**
 *
 * @author  clay
 * @version 
 */
public class Logger {
   static private Category cat;
   static private Class c;
   static private Logger _instance = null;
   
   //private Calendar cal;
   
    /** Creates new Logger */
    private Logger(Class _c) {
        cat = Category.getInstance(_c.getName());
        c=_c;
    }
    
    public void debug(String _s)
    {
        
        Calendar cal = Calendar.getInstance();
        Date d = cal.getTime();
        String debugString = "["+d.toString()+"]["+c.getName()+"]"+_s;
        cat.debug(debugString);
    }
    
   /**
    * @return The unique instance of this class.
    */
   static public Logger instance(Class _c) {
      if((null == _instance) || (_c.getName().compareTo(c.getName()) !=0)) {
         _instance = new Logger(_c);
      }
        return _instance;
   }

}

I then have a serlet singleton that starts at the init of tomcat....


/*
 * InitializationServlet.java
 *
 * Created on November 15, 2001, 2:05 PM
 */

package com.noi.webapp.chess.servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import org.apache.log4j.*;
import java.io.IOException;
import com.noi.utility.log.Logger;

/* Servlet Class */ 

// import statements...

public class InitializationServlet extends HttpServlet {

    private Logger logger;

    
  public void init() throws ServletException
  {
     
    //configure logging  
     //set up the layout and file appender
     SimpleLayout layout = new SimpleLayout();
     FileAppender appender = null;
     Calendar cal = Calendar.getInstance();
     Date d = cal.getTime();
     
     int month = cal.get(Calendar.MONTH);
     int day = cal.get(Calendar.DAY_OF_MONTH);
     int hour = cal.get(Calendar.HOUR_OF_DAY);
     int min = cal.get(Calendar.MINUTE);
     int sec = cal.get(Calendar.SECOND);     
     String logfile = 
"C:\\cygwin\\home\\clay\\logs\\chess_"+month+"_"+day+"_"+hour+"_"+min+"_"+sec+".log";
     
     
     try {
        appender = new FileAppender(layout,logfile);
        //appender = new FileAppender(layout,logfile);
        // Set up a simple configuration that logs on the console.
        BasicConfigurator.configure(appender);

     }
     catch (IOException e)
     {
         System.out.println("Error creating log file:"+e);
     }
     
        logger = Logger.instance(InitializationServlet.class); 
        logger.debug("***********STARTING THE CHESS APPLICATION***********");
         
        
  }
}

then any clas can use it and I can track who is logging when....

        logger = Logger.instance(GameMgr.class); 
        logger.debug("in makeDate Date function:"+nDate.toString());

just my way

clay


-----Original Message-----
From:   Step [SMTP:[EMAIL PROTECTED]]
Sent:   Thursday, July 04, 2002 10:55 PM
To:     [EMAIL PROTECTED]
Subject:        how to use log4j within struts

I want to use the common-logger from Jakarta and uses log4j. 
 
1.      Does anyone have a sample log4j properties/initialization file
that they would post so that I could take a look?
2.       how to set up the logger in my struts application.. for
instance my action class.
 
Thanks
 
stephen


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to