Forever log и logrotate
Я использую forever для запуска моего узла nodeJs, и я выбираю файл журнала:
forever -l/home/api/log/api_output.log запустите server.js
Я использую logrotate для перемещения журнала файлов каждый день (например, советуем здесь: NodeJS/Forever архивные журналы), через один день мой каталог выглядит следующим образом:
-rw-r - r-- 1 корень root 0 avril 18 12:00 api_output.log
-rw-r - r-- 1 корень root 95492 avril 18 12:01 api_output.log-20140418
Итак, вращение работает, но сообщения журналов теперь записываются в api_output.log-20140418, а не api_output.log
Может кто-нибудь может мне помочь?
Ответы
Ответ 1
Я забыл параметр copytruncate в моем файле конфигурации, теперь он работает:
/etc/logrotate.d/api:
/home/api/log/api_output.log {
#size 50k
daily
dateext
missingok
rotate 7
compress
delaycompress
notifempty
#create 644 root
copytruncate
}
Ответ 2
Я думаю, это из-за живого потока между веками и файла журнала.
навсегда использовать поток файлов для файла журнала. и вы переименовали этот файл с помощью logrotate. но поток не меняется.
поэтому сообщения журнала были написаны в api_output.log-20140418.
если вы хотите изменить поток, вы должны повернуть код node.js или использовать конвейер.