Enable basic profile logging - BloomReach Experience - Open Source CMS
07-01-2019

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>
Did you find this page helpful?
How could this documentation serve you better?
On this page
    Did you find this page helpful?
    How could this documentation serve you better?