Как я могу войти в новый файл каждый день в рельсах? - PullRequest
1 голос
/ 13 июня 2019

Я ищу решение, которое позволит мне каждый день создавать новый файл журнала для приложения rails.

Цель состоит в том, чтобы перейти от стандартного production.log к

production.2019-06-01.log

production.2019-06-02.log

... и т.д.

Где последний журнал имеет сегодняшнюю дату.

Мне известно о logrotate приложении, но проблема в том, что production.log является текущим, production.log.1 - предположительно вчера. Поэтому, если вы хотите найти что-то, что произошло в определенный день несколько недель назад, вам нужно посмотреть, в каком файле журнала это будет.

Ответы [ 2 ]

3 голосов
/ 13 июня 2019

Вы пробовали:

logger = Logger.new('production.log', 'daily') # or 'weekly', 'monthly'

Чтобы получить желаемый результат, используйте:

t = Time.now()
file = 'production.' + (t.strftime("%m-%d-%y")) + '.log' 
logger = Logger.new(file, 'daily') # or 'weekly', 'monthly'
3 голосов
/ 13 июня 2019

вы можете настроить logrotate на то, что вам нужно, проверьте daily и dateext опции здесь https://linux.die.net/man/8/logrotate. также вы можете использовать более современный способ и использовать что-то вроде ELK https://www.elastic.co/elk-stack для индексации журналов вasticsearch и использовать панель управления kibana для удобного поиска в журналах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...