Introduction

The current implementation includes a logging mechanism for debugging purposes in development environments, which monitors Stash, introduced in Stash-bundle, and the persistence cache mechanism.

Logging is enabled by default, except for the production environment to avoid excessive memory usage on production environments.

 

Usage example

StashBundle logging, represented by the stash.logging setting, and persistence cache logging, represented by the setting parameters.ezpublish.spi.persistence.cache.persistenceLogger.enableCallLogging, and are both enabled by default on development environments.
Both settings expect a boolean value (true or false), so, if you desire to turn off the logging mechanism you can use the following configuration in ezpublish_dev.yml:

stash:
    logging: false
    caches:
        default:
            handlers:
                - FileSystem
            inMemory: false
            registerDoctrineAdapter: false

parameters:
    ezpublish.spi.persistence.cache.persistenceLogger.enableCallLogging: false

Be aware that using stash logging and persistence cache logging will require additional memory. This should be used for debugging purposes only.

Error logging and rotation

eZ Publish uses the Monolog component to log errors, and it has a RotatingFileHandler that allows for file rotation.

According to their documentation, it "logs records to a file and creates one logfile per day. It will also delete files older than $maxFiles".

But then, their own recommendation is to use "logrotate" instead of doing the rotation in the handler as you would have better performance.

 

More details here:

 

If you decided to use Monolog's handler, it can be configured in /ezpublish/config/config.yml

monolog:
    handlers:
        main:
            type: rotating_file
            max_files: 10
            path: "%kernel.logs_dir%/%kernel.environment%.log"
            level: debug