Вращение журнала: приложение не записывает в усеченный новый файл журнала - PullRequest
0 голосов
/ 21 февраля 2019

Я верю, что у вас все хорошо.

мы планируем реализовать ротацию логов для файла ниже.stdout.log

мы используем ниже файл конфигурации ротации журналов.

/usr/local/rms/kafka/kafka-connect-fluentd/stdout.log {
    daily
    rotate 7
    maxsize 100M
    minsize 10M
    copytruncate
    delaycompress
    compress
    notifempty
    missingok
}

мы заметили, что файл вращается, и файл усекается. Но приложение не записывает журналы в новый файл.мы попытались отправить сигнал HUP, и он не сработал.

-rw-r--r-- 1 appuser appuser 8.2M Feb 20 03:11 stdout.log.4.gz
-rw-r--r-- 1 appuser appuser 4.0M Feb 20 23:48 stdout.log.3.gz
-rw-r--r-- 1 appuser appuser 7.6M Feb 20 23:49 stdout.log.2.gz
-rw-r--r-- 1 appuser appuser 2.1G Feb 21 03:39 stdout.log.1
-rw-r--r-- 1 appuser appuser 2.2G Feb 21 14:15 stdout.log

Само приложение не имеет опции перезагрузки. Мы останавливаем приложение и запускаем приложение, когда нам нужно перезагрузить или перезапустить приложение.

мы используем команду ниже, чтобы вызвать приложение

nohup connect-standalone ${BASE}/connect-standalone.properties 
${BASE}/FluentdSourceConnector.properties >& ${BASE}/stdout.log &

мы используем команду ниже, чтобы убить приложение

kill -9 <processid>

Как реализовать механизм ротации журналов дляэта ситуация?

1 Ответ

0 голосов
/ 21 февраля 2019
>& FILE

Является ли устаревшим синтаксисом для:

> FILE 2>&1

> FILE перенаправляет стандартный вывод команды в файл с именем FILE.Однако до того, как это произойдет, «если файл не существует, он создается; если он существует, он усекается до нулевого размера».

Таким образом, каждый раз, когда вы перезапускаете команду, ваш файл (правильно) усекаетсяоболочкой.То, что вы хотите, это добавить в файл.Сделайте это с помощью перенаправления >>.Включая то, что вы хотите перенаправить как stdout, так и stderr, используйте:

2>&1 >>FILE

2>&1 перенаправляет stderr на stdout, а >>FILE добавляет stdout к FILE.

...