Enable basic profile logging
This document describes how to enable logging of profile information to a separate log file.
Note that you can turn on HST Page diagnostics, which logs how long different parts of the HST request cycle take to execute. HST Page diagnostics gives you insight into what parts of the request cycle take long / consume much processing power. However, HST page diagnostics does not indicate how long the HST model takes to load after something has changed in the configuration. Those numbers can be extracted through a dedicated Logger configuration for HstManagerImpl, as described below.
Add an Appender to the Log4j 2 Configuration
log4j2.xml:
<RollingFile name="performance" fileName="${sys:catalina.base}/logs/performance.log" filePattern="${sys:catalina.base}/logs/performance.log.%d{yyyy-MM-dd}"> <LookupFilter key="jndi:logging/contextName" value="site" onMatch="ACCEPT"/> <PatternLayout pattern="%d{dd.MM.yyyy HH:mm:ss} %-5p [%c] %m%n"/> <Policies> <SizeBasedTriggeringPolicy size="10MB"/> </Policies> <DefaultRolloverStrategy max="1" fileIndex="min"/> </RollingFile>
Set Log Levels of Classes Producing Performance Information.
log4j2.xml:
<!-- to see logging about how long the total request takes --> <Logger additivity="false" name="org.hippoecm.hst.container.HstDelegateeFilterBean" level="debug"> <AppenderRef ref="performance"/> </Logger> <!-- to see logging about how long HST model (re)loading takes --> <Logger additivity="false" name="org.hippoecm.hst.configuration.model.HstManagerImpl" level="info"> <AppenderRef ref="performance"/> </Logger> <!-- to see logging about how long searches take --> <Logger additivity="false" name="org.hippoecm.hst.content.beans.query.HstQueryImpl" level="debug"> <AppenderRef ref="performance"/> </Logger>