Как в Yii2 сделать логирование в файлы и их архивирование?
Добрый день.
Есть проект на Yii2, все ошибки отлавливаются и пишутся в файлы стандартным методом фреймфорка.
Установлен определенный размер файла, имя файла и их количество. Но на самом деле Этого мало, все, что отлавливается, логируется в эти файлы, но событий много и все они в итоге теряются после часа - двух работы системы.
Задача:
- писать в файлы все события за день
- в конце дня архивировать файл и хранить
- также отправлять логи в эластик (здесь нет проблем), используется монолог
Вопрос:
Есть ли готовые решения для моей задачи? Чтобы была авторотация файлов и упаковка из в архив
DarkByte2015, ну такие мысли есть, конечно. Меня больше интересуют готовые решения, зачем свой велосипед, если есть что - то работающее. Но ничего подобного я пока не нашел
dinya17, не существует решений на все случаи жизни. Логирование в Yii встроено, а уже файлы собирайте, архивируйте и отправляйте скриптом по крону. Все же просто - зачем усложнять?
Логирование можно настроить как угодно, вот гайд: https://www.yiiframework.com/doc/guide/2.0/en/runt...
Можно выбрать место куда будут падать ваши логи. А вот архивирование - это уже кроном. Запускаете допустим раз в день, берете из указанного места, архивируете, удаляете старое и т.д.
да/. сейчас у меня все логируется как надо, вот именно архивирование инетесует. Есть старая библиотека log4php вот она умеет архивировать из коробки. Может стоит в ней поковырять. Но крон выглядит сейчас самым логичным решением.
dinya17,
Крон отличное решение, Вы избегаете лишней логики при логировании, она не нужна. Когда и что делать знает крон и спокойно себе архивирует файлы, высылает если надо куда-то и т.д. Срабатывает ночью, когда ресурсы есть в достаточном количестве. Мне кажется это здраво. Мало того стандартное логирование не ломается, а значит будущие обновления пройдут как по маслу.