Changeset 13122


Ignore:
Timestamp:
2006-10-17T15:37:03+13:00 (18 years ago)
Author:
shaoqun
Message:

added the code to use log4j and LibraryServelt writes usage info to web/logs/usage.log

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/LibraryServlet.java

    r12021 r13122  
    1414import java.util.HashMap;
    1515import java.io.File;
     16
     17import org.apache.log4j.*;
    1618
    1719/** a servlet to serve the greenstone library - we are using servlets instead
     
    4648    protected int next_user_id = 0;
    4749
    48    
     50    static Category logger = Category.getInstance(org.greenstone.gsdl3.LibraryServlet.class.getName());
     51
    4952    /** initialise the servlet
    5053     */
     
    5558    //System.setProperty("java.util.prefs.PreferencesFactory", "org.greenstone.gsdl3.util.DisabledPreferencesFactory");
    5659
     60   
    5761    String library_name = config.getInitParameter(GSConstants.LIBRARY_NAME);
    5862    String gsdl3_home = config.getInitParameter(GSConstants.GSDL3_HOME);
     
    175179   
    176180    }
    177    
     181
     182
     183    private void logUsageInfo(HttpServletRequest request){
     184    String usageInfo = "";
     185
     186    //session-info: get params stored in the session
     187    HttpSession session = request.getSession(true);
     188        Enumeration attributeNames = session.getAttributeNames();
     189    while(attributeNames.hasMoreElements()) {
     190        String name = (String)attributeNames.nextElement();
     191        usageInfo +=name+"="+session.getAttribute(name)+" ";
     192    }
     193   
     194    //logged info = general-info + session-info
     195    usageInfo =
     196        request.getServletPath()+" "+ //serlvet
     197        "["+request.getQueryString()+"]" +" "+ //the query string
     198        "["+usageInfo.trim()+"]" +" "+ // params stored in a session
     199        request.getRemoteAddr()+" "+   //remote address                 
     200        request.getRequestedSessionId()+" "+ //session id
     201        request.getHeader("user-agent")+" "; //the remote brower info                     
     202                         
     203    logger.info(usageInfo);
     204
     205    }
     206
     207       
    178208    public void doGet(HttpServletRequest request,
    179209              HttpServletResponse response)
    180210    throws ServletException, IOException {
    181    
     211
     212    logUsageInfo(request);
     213         
     214    // Nested Diagnostic Configurator to identify the client for
    182215       
    183216    HttpSession session = request.getSession(true);
Note: See TracChangeset for help on using the changeset viewer.