Sling provides the possibility to "listen" to a request processed by the Sling Engine (SlingMainServlet). To get notified you implement the service interface org.apache.sling.api.request.SlingRequestListener.
public interface SlingRequestListener {
	
	static final String SERVICE_NAME = "org.apache.sling.api.request.SlingRequestListener";	
	/**
	 * This method is called from the Sling application for every
	 * <code>EventType</code> appearing during the dispatching of
	 * a Sling request  
	 * 
	 * @param sre the object representing the event
	 * 
	 * @see org.apache.sling.api.request.SlingRequestEvent.EventType
	 */
	public void onEvent( SlingRequestEvent sre );
}
There are no special properties to set.
At the moment you will get two different types of SlingRequestEvent:
| events types ( SlingRequestEvent.EventType) | point in time | 
|---|---|
| EVENT_INIT | after entering the servicemethod inSlingMainServlet. Note that this will be after thehandleSecuritycall. | 
| EVENT_DESTROY | at the end of the servicemethod inSlingMainServlet |