Class | File::Tail::Logfile |
In: |
lib/file/tail.rb
|
Parent: | File |
This is an easy to use Logfile class that includes the File::Tail module.
The unix command "tail -10f filename" can be emulated like that:
File::Tail::Logfile.open(filename, :backward => 10) do |log| log.tail { |line| puts line } end
Or a bit shorter:
File::Tail::Logfile.tail(filename, :backward => 10) do |line| puts line end
To skip the first 10 lines of the file do that:
File::Tail::Logfile.open(filename, :forward => 10) do |log| log.tail { |line| puts line } end
The unix command "head -10 filename" can be emulated like that:
File::Tail::Logfile.open(filename, :return_if_eof => true) do |log| log.tail(10) { |line| puts line } end
This method creates an File::Tail::Logfile object and yields to it, and closes it, if a block is given, otherwise it just returns it. The opts hash takes an option like
in the logfile for 10 lines at the start. The buffersize for going backwards can be set with the
To define a callback, that will be called after a reopening occurs, use:
Every attribute of File::Tail can be set with a :attributename => value option.
Like open, but yields to every new line encountered in the logfile in block.