Перейти к основному содержимому

Логирование

В Pimcore используется несколько типов логов. Все они находятся в каталоге /var/log и ежедневно (срок хранения 7 дней) автоматически ротируются и сжимаются командой обслуживания.

<env>.log

Это один из самых важных логов и также место логирования по умолчанию.

Pimcore использует стандартный Monolog от Symfony с каналами: pimcore, pimcore_api, session. Для подробностей смотрите документацию Symfony по Monolog.

php.log

По умолчанию Pimcore записывает сообщения логов PHP-движка в файл php.log. Можно изменить это, добавив в конфигурацию Symfony, например:

monolog:  
handlers:
error:
type: stream
path: "%kernel.logs_dir%/own_php.log"
level: error

usagelog.log

В этом логе фиксируются все действия, выполняемые через бэкенд-интерфейс Pimcore. Его можно отключить, задав disable_usage_statistics в config/config.yaml:

pimcore:  
general:
disable_usage_statistics: true

Пример записи:
2021-04-26T13:18:35+0200 : 2|Pimcore\Bundle\AdminBundle\Controller\Admin\Document\PageController::saveAction|pimcore_admin_document_page_save|{"task":"publish","id":"1","data":"{\"cImage_0\":{\"data\":{\"id\":337,\"path\":\"\\\/..."}  
2021-04-26T13:18:35+0200 : 2|Pimcore\Bundle\AdminBundle\Controller\Admin\Asset\AssetController::getImageThumbnailAction|pimcore_admin_asset_getimagethumbnail|{"id":"3","alt":"","height":"undefined","thumbnail":"portalCarousel","pimcore_editmode":"1"}

Пояснение
Значение (из приведенного выше примера)Описание
2021-04-26T13:18:35+0200метка времени
2ID пользователя
Pimcore\Bundle\AdminBundle\Controller\Admin\Document\PageController::saveActionModule\Controller::Action
pimcore_admin_document_page_saveимя маршрута
{"task":"pub .... }параметры запроса (усечённо и с цензурой)

redirect.log

Иногда нужно отлаживать редиректы, например когда редирект попадает в бесконечный цикл. В этом логе видны все запросы, в которых сработал редирект.

Пример
2021-04-26T14:03:20+0200 : 10.242.2.255          Custom-Redirect ID: 1, Source: /asdsad/redirectsource/asd -> /en/Events  

Информация

Редиректы логируются в канал redirect на уровне info. По умолчанию этот канал записывается в var/log/redirect.log. Конфигурацию соответствующего обработчика Monolog можно при необходимости изменить.

Создание собственных лог-файлов

Чтобы создавать собственные записи логов, нужно добавить определение каналов Monolog и обработчиков в конфигурацию. Пример конфигурации для записи в файл custom.log

monolog:  
handlers:
custom_handler:
level: debug
type: stream
path: '%kernel.logs_dir%/custom.log'
channels: [custom_log]
channels: [custom_log, some_other_channel]


Можно ввести Psr\Log\LoggerInterface, изменив имя переменной, например. $customLogLogger (название канала в camelCase + Logger), и Symfony автоматически подключит указанный канал.

class SomeService {  
public function __construct(\Psr\Log\LoggerInterface $customLogLogger)
{
$customLogLogger->debug('Test Message');
}
}

Для дополнительной информации см. документацию Monolog


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.