2017-02-02 7 views
3

Согласно spring boot 1.4 docs пружинная загрузка автоматически поворачивает файл журнала, так как размер файла достигает 10 МБ. У меня есть служба загрузки весны v1.4.2, развернутая на Linux-машине, но файл не вращается. Файл достиг 118 МБ и по-прежнему не вращается автоматически.Spring boot linux service не вращается файл журнала

Я что-то теряю в документах или ошибках?

+0

У вас есть только конфигурация журнала по умолчанию или вы используете какой-либо дополнительный файл? И служба, развернутая на Linux-машине, означает, что вы создали символическую ссылку и запускаете службу с помощью 'service .. start'? – Patrick

+0

@Patrick его точно, как вы это сказали. В '/ etc/init.d /' есть символическая ссылка, и мы запускаем службу с помощью 'service appname start'. Конфигурация протоколирования отсутствует, кроме уровней журнала, все по умолчанию. –

+0

Вам повезло с этим? Я столкнулся с той же проблемой. – szmeti

ответ

0

Весна вращает журналы только для добавления файлов. Для регистрации в /var/log/spring.log Spring использует консольный appender, который нельзя настроить для вращения. Можно настроить только файлы appenders для вращения. Я закончил настройку logback-spring.xml, чтобы добавить журналы в файл в дополнение к консоли. Таким образом, всякий раз, когда мой /var/log/<> становится слишком большим, я просто удаляю его.

0

Другим вариантом поворота журнала на машинах Linux является использование logrotate с параметром copytruncate.

logrotate предназначен для упрощения администрирования систем, которые генерируют большое количество файлов журнала. Он позволяет автоматическое вращение, сжатие, удаление и рассылку файлов журнала. Каждый файл журнала может обрабатываться ежедневно, еженедельно, ежемесячно или когда он становится слишком большим.

logrotate читает все о файлах журнала, которые он должен обрабатывать из серии файлов конфигурации, указанных в командной строке. Каждый файл конфигурации может устанавливать глобальные параметры (локальные определения переопределяют глобальные, а последующие определения переопределяют предыдущие) и определяют лог-файлы для поворота. Простой конфигурационный файл выглядит следующим образом:

copytruncate

Округление оригинальный файл журнала на месте после создания копии, вместо перемещения старого файла журнала и при необходимости создать новый. Его можно использовать, когда какой-либо программе не может быть сказано закрыть свой файл журнала и, таким образом, может продолжить запись (добавление) в предыдущий файл журнала навсегда. Обратите внимание, что между копированием файла и его усечением очень мало времени, поэтому некоторые данные регистрации могут быть потеряны. Когда этот параметр используется, параметр create не будет иметь эффекта, так как старый файл журнала остается на месте.

Добавить эту запись в файл конфигурации LogRotate

/var/log/spring.log { 
    daily 
    copytruncate 
    rotate 3 
    dateext 
    notifempty 
} 

Что дальше? См How to make log-rotate change take effect?

logrotate использует crontab работать. Это запланированная работа, а не демон, поэтому нет необходимости перезагружать ее конфигурацию.