See example of use below
Event Class | Summary | Data Summary1 |
---|---|---|
FolderAddedToLayoutPortalEvent | Fired when a user adds a folder to their layout | Layout ID, new folder node ID |
FolderDeletedFromLayoutPortalEvent | Fired when a user deletes a folder from their layout | Layout ID, old parent node ID, deleted folder node ID, deleted folder name |
FolderMovedInLayoutPortalEvent | Fired when a user moves a folder in their layout | Layout ID, old parent node ID, moved folder node ID |
PortletAddedToLayoutPortalEvent | Fired when a user adds a portlet to their layout | Layout ID, parent node ID, portlet fname |
PortletDeletedFromLayoutPortalEvent | Fired when a user deletes a portlet from their layout | Layout ID, old parent node ID, portlet fname |
PortletMovedInLayoutPortalEvent | Fired when a user moves a portlet in their layout | Layout ID, old parent node ID, new parent node ID, portlet fname |
LoginEvent | Fired when a user authenticates with the portal | Group keys the user is a member of, user attributes |
LogoutEvent | Fired when a user explicitly logs out of the portal | |
PortalRenderEvent | Fired when a user renders a page | Request path info, url state2, url type3, request parameters, targeted layout node ID, execution time (ms) |
PortletActionExecutionEvent | Fired when a portlet action request is executed | Portlet fname, execution time, request parameters |
PortletEventExecutionEvent | Fired when a portlet event request is executed | Portlet fname, execution time, request parameters, event QName |
PortletRenderExecutionEvent | Fired when a portlet render request is executed | Portlet fname, execution time, request parameters, targeted flag, rendered from cache flag |
PortletRenderHeaderExecutionEvent | Fired when a portlet render header request is executed | Portlet fname, execution time, request parameters, targeted flag |
PortletResourceExecutionEvent | Fired when a portlet resource request is executed | Portlet fname, execution time, request parameters, resource ID, rendered from cache flag |
- All events track time, server name, username, and event session in addition to the data listed in the summary column
- See the org.jasig.portal.url.UrlState enum (NORMAL, MAX, DETACHED, EXCLUSIVE)
- See the org.jasig.portal.url.UrlType enum (RENDER, ACTION, RESOURCE)
Example using Portal Events
- Open for editing uportal-war/src/main/resources/properties/contexts/applicationContext.xml
- Add the loggingEventHandler bean (see below)
<bean id="loggingEventHandler" class="org.jasig.portal.spring.context.LoggingEventHandler"> <property name="logCategory" value="STATS_CAT"/> <property name="applicationEventFilters"> <list> <bean class="org.jasig.portal.spring.context.ClassFilteringApplicationListener"> <property name="supportedEvents"> <list> <value>org.jasig.portal.events.FolderAddedToLayoutPortalEvent</value> <value>org.jasig.portal.events.FolderDeletedFromLayoutPortalEvent</value> <value>org.jasig.portal.events.FolderMovedInLayoutPortalEvent</value> <!-- All layout node related events --> <value>org.jasig.portal.events.LayoutPortalEvent</value> <!-- Explicitly list login/logout events --> <value>org.jasig.portal.events.LoginEvent</value> <value>org.jasig.portal.events.LogoutEvent</value> <value>org.springframework.security.authentication.event.AuthenticationSuccessEvent</value> </list> </property> </bean> </list> </property> </bean>
- You can view the results of the events above by adding the following to the uportal-war/src/main/webapp/WEB-INF/log4j.properties file. (see below)
... log4j.category.STATS_CAT=INFO,STATS log4j.additivity.STATS_CAT=false log4j.appender.STATS=org.apache.log4j.RollingFileAppender log4j.appender.STATS.File=${environment.build.logging.dir}/stats/stats.log log4j.appender.STATS.Append=true log4j.appender.STATS.MaxFileSize=20MB log4j.appender.STATS.MaxBackupIndex=45 log4j.appender.STATS.layout=org.apache.log4j.PatternLayout log4j.appender.STATS.layout.ConversionPattern=%d [%t] %p %c - %m %n ...