У меня в проекте на Laravel много скриптов запускаются по крону.
Ну например что-нибудь такое:
$users = User::all();
foreach ($users as $user) {
try {
$json = file_get_contents('vkapicom/xxx');
$content = json_decode($json, true);
usleep(500);
} catch (\Exception $e) {
Log::create(['message' => $e->getMessage()]);
continue;
}
if (isset($content)) {
//do something
try {
Post::create([/*...*/]);
} catch (\Exception $e) {
Log::create(['message' => $e->getMessage()]);
}
}
}
Log - это мой класс, который складывает информацию об ошибках в БД, я ее в админке потом смотрю. Ну это примерно. Вот с какими проблемами я сталкиваюсь:
1. Некоторые ошибки повторяются регулярно. Я делаю запрос в АПИ, куда передаю id пользователя. Не для всех пользователей возвращаются значения, для некоторые апи возвращает 404 или 403 и это нормально. Но такие пользователи регулярно проверяются и засоряют лог.
2. Это один скрипт, есть еще пара-тройка, у них совершенно другая логика, совершенно другие ошибки. В основном там работа с АПИ разных сторонних сервисов.
В общем у меня никак не получается грамотно организовать мониторинг этого всего. То какой-то случай появляется, который не был предусмотрен, то лог превращается в кашу из ошибок, которые по-сути не ошибки, а нормальная ситуация.
Как вы мониторите разные крон скрипты? У вас единый лог для них? Или может быть для каждого отдельного скрипта свой лог? Или может быть лучше просто писать весь вывод в стандартный лог Laravel?