TL; DR: использовать серый журнал CWP - там уже все отслеживается.
В журнале есть различные уровни:
class SS_Log
{
const ERR = Zend_Log::ERR;
const WARN = Zend_Log::WARN;
const NOTICE = Zend_Log::NOTICE;
const INFO = Zend_Log::INFO;
const DEBUG = Zend_Log::DEBUG;
Эти картынесколько из констант Zend Log .
С CWP вы получаете некоторую запись по умолчанию из коробки:
// Tee logs to syslog to make sure we capture everything regardless of project-specific SS_Log configuration.
SS_Log::add_writer(new \SilverStripe\Auditor\MonologSysLogWriter(), SS_Log::DEBUG, '<=');
Это означает, чтовсе с уровня отладки будет отправлено в системный журнал по умолчанию.Это делается для того, чтобы платформа CWP могла направлять журналы вашего веб-сайта в Graylog ( централизованная система ведения журнала ), к которой вы можете получить доступ с помощью своей учетной записи CWP Dash.
Если выКроме того, требуется дополнительная регистрация, вы можете настроить ее одним из двух способов:
define('SS_ERROR_LOG', '/path/to/logfile.log')
: будет автоматически настроено для записи с уровней предупреждений в вашжурнальный файл.Это не особенно полезно для вас в контексте CWP, потому что у вас нет доступа к серверу для проверки файлов. - Добавьте свой собственный регистратор и настройте его для отправкижурналы, где вы хотите (например, в этих документах адрес электронной почты).
Если вы хотите включить или отключить это с переменной, у вас действительно есть возможность добавить или удалить пользовательский код,поскольку CWP не дает вам возможности настраивать переменные среды.Вам нужно выполнить развертывание, чтобы изменить этот код, поэтому вы можете также добавить что-то вроде этого в mysite/_config.php
и закомментировать, когда вам это не нужно:
// Log everything and send it to my email address for debugging. Comment out when
// not required.
SS_Log::add_writer(new SS_LogEmailWriter('your-email@example.com'), SS_Log::DEBUG, '<=');
Сновавам придется выполнять развертывание всякий раз, когда вы изменяете этот код.
Теория в стороне, я бы рекомендовал использовать журналы, которые уже доступны в Graylog.