Наблюдайте/читайте растущий файл журнала

Я не думаю, что гибкое программирование является популярным товаром, но в то же время мне было бы трудно думать о способе, которым учитель мог дать Вам проекты позволить Вам изучать это.. Если они не дали Вам, проектируют сборку a, проект B подробно останавливаются на a. Проблема время и объем. В 4-месячном курсе это было бы твердо.

Управление версиями и методы поблочного тестирования являются постоянно меняющимися и иждивенец на языке или человек, который определяет их.

структуры данных и алгоритм - что-то, что может работаться на в установке класса. Честно также они прилагают вполне немного больше усилий понять затем поблочное тестирование и управление версиями. Попытайтесь помнить, что часть университета должна учить Вас самостоятельно учиться. Коллаж действительно не совсем имеет тот же мандат. Или по крайней мере не до той же степени. По моему скромному мнению.

19
задан the Tin Man 27 January 2015 в 01:00
поделиться

4 ответа

def watch_for(file, pattern)
  f = File.open(file,"r")
  f.seek(0,IO::SEEK_END)
  while true do
    select([f])
    line = f.gets
    puts "Found it! #{line}" if line=~pattern
  end
end

watch_for("g.txt",/ERROR/)

Спасибо за идею ezpz, используя метод выбора, вы получите то, что хотите. Метод select прослушивает поток ввода-вывода, считывает байты, что приходит «поздно».

17
ответ дан 30 November 2019 в 02:48
поделиться

Вы можете использовать Kernel # select следующим образом:

def watch_for(file,pattern)
   f = File.open(file,"r")

   # Since this file exists and is growing, seek to the end of the most recent entry
   f.seek(0,IO::SEEK_END)

   while true
      select([f])
      puts "Found it!" if f.gets =~ pattern
   end
end

Затем назовите его так:

watch_for("some_file", /ERROR/)

Я исключил все проверки ошибок и тому подобное - вы будете хотите иметь это и, возможно, какой-то механизм для выхода из цикла. Но основная идея есть.

9
ответ дан 30 November 2019 в 02:48
поделиться

Если вы работаете в Linux ...

tail -f log/development.log | grep "ERROR"

Если вы действительно не хотели, чтобы это был сценарий Ruby по какой-то причине.

5
ответ дан 30 November 2019 в 02:48
поделиться

check out file-tail gem

4
ответ дан 30 November 2019 в 02:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: