class Ridoku::Log

Attributes

environment[RW]

Public Instance Methods

run() click to toggle source
# File lib/ridoku/log.rb, line 13
def run      
  command = Base.config[:command]
  sub_command = (command.length > 0 && command[1]) || nil

  case sub_command
  when 'unicorn', nil
    unicorn_log
  when 'nginx'
    nginx_log
  when 'all'
    all_logs
  else
    print_log_help
  end
end

Protected Instance Methods

all_logs() click to toggle source
# File lib/ridoku/log.rb, line 56
def all_logs
  nginx_log
  unicorn_log
end
line_break(title) click to toggle source
# File lib/ridoku/log.rb, line 42
def line_break(title)
  "#{'=' * 80}\n==== #{title}\n#{'=' * 80}\n"
end
nginx_log() click to toggle source
# File lib/ridoku/log.rb, line 51
def nginx_log
  $stdout.puts $stdout.colorize(line_break('Nginx Logs'), [:bold, :green])
  system(Ridoku::Run.command('tail -1000 /var/log/nginx/error.log'))
end
print_log_help() click to toggle source
unicorn_log() click to toggle source
# File lib/ridoku/log.rb, line 46
def unicorn_log
  $stdout.puts $stdout.colorize(line_break('Unicorn Logs'), [:bold, :green])
  system(Ridoku::Run.command(unicorn_log_command, false))
end
unicorn_log_command() click to toggle source
# File lib/ridoku/log.rb, line 31
def unicorn_log_command
  Base.fetch_app

  lines = "#{Base.config[:lines] || 250}"
  dir = "/srv/www/#{Base.app[:shortname]}/shared/log"
  "for f in #{dir}/*.log; do echo "\
  "#{$stdout.colorize("Log #{lines}: $f; "\
  "echo #{'=' * 80}", [:bold])};"\
  "tail -#{lines} $f; echo; done"
end