Ich habe im Slack mal diesen Tipp bekommen. In der offiziellen Shopware Doku ist das sehr umständlich gelöst, man kann aber einen eigenen Service für „LoggerInterface“ registrieren.
<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:monolog="http://symfony.com/schema/dic/monolog">
<monolog:config>
<monolog:channel>moorl_staging_channel</monolog:channel>
<monolog:handler name="moorlStagingLogHandler"
type="rotating_file"
level="debug"
path="%kernel.logs_dir%/moorl_staging_%kernel.environment%.log">
<monolog:channels>
<monolog:channel>moorl_staging_channel</monolog:channel>
</monolog:channels>
</monolog:handler>
</monolog:config>
</container>
Das Level ist hier statisch hinterlegt und steht auf „debug“ es wird also alles geloggt, unabhängig ob „prod“ oder „dev“.
In diesem Beispiel ist der Service, der als LoggerInterface dient:
<argument type="service" id="monolog.logger.moorl_staging_channel"/>