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
# File lib/ridoku/log.rb, line 62 def print_log_help $stderr.puts <<-EOF Command: log Log the specified command on an instance: log[:unicorn] print unicorn logs for the specified app and instance log:nginx print nginx logs for the specified app and instance log:all print all logs for specified instance and app to commandline examples: $ ridoku log --mukujara EOF end
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