Мы хотим отслеживать все ошибки PHP. Мы можем проверить все ошибки с файлом error_log.
Файлы журналов ошибок становятся такими тяжелыми.
Поэтому очень сложно проверить ошибки в файле error_log.
Можно ли записать файл php error_log в пример с датой ’19 -05_2015_error.log ‘
или мы можем написать ошибку как «fetal.log» «note.log»
Вы можете сделать это на PHP. Популярная библиотека журналов Монолог.
Вы можете изменить конфигурацию PHP в начале вашего приложения, динамически создать файл журнала.
<?php
function logByDate(){
$sPath = '/logs/application/PhpError_' . date('Y-m-d') . '.log';
ini_set('error_log', $sPath);
}
// To validate only, it is not necessary
echo 'Actual log ' . ini_get('error_log') . PHP_EOL;
logByDate(); //Call it at beginning
// To validate only, it is not necessary
echo 'Validate new log ' . ini_get('error_log') . PHP_EOL;
Для получения журналов в ежедневном формате (19-05_2015_error.log) вы можете использовать Logrotate если вы в стеке UNIX (но это немного сложнее, если вы находитесь на Стек Windows).
Есть несколько полезных советов по контролю дублирования и подавление сообщений об ошибках.
Насколько я знаю, модуль mod_log_config не принимает переменные для имен файлов, что исключает наиболее простую возможность. Решения на основе Apache, которые вы можете использовать, включают в основном:
Сказал, что, я думаю, в PHP довольно неплохо встроено ведение журнала. Вы можете сделать именно то, что вы просите с error_log()
функция (вместе с, например, date('Y-m-d')
). Вы даже можете определить другой файл для разных типов ошибок. Конечно, это не будет фиксировать ошибки, препятствующие выполнению кода PHP (например, ошибки синтаксического анализа, тайм-ауты запроса …), но вы можете установить error_log
директива как резервный механизм — эти ситуации должны быть достаточно редкими, чтобы поддерживать управляемость файла журнала.
Еще одна мысль: убедитесь, что в вашем средстве разработки включены полные отчеты об ошибках (многие разработчики используют сторонние пакеты с настройками по умолчанию и с радостью пишут глючный код). На рабочем сервере не так много зарегистрированных ошибок.