   robot.respond /singularity show task updates for (.*) on (.*)/i, (msg) ->
     showTaskUpdates msg, msg.match[1], msg.match[2]
 
+  robot.respond /singularity show log files for task (.*) on (.*)/i, (msg) ->
+    showTaskLogFiles msg, msg.match[1], msg.match[2]
+
+  robot.respond /singularity show log (.*) for task (.*) on (.*) (.*) (.*)/i, (msg) ->
+    showTaskLog msg, msg.match[1], msg.match[2], msg.match[3], msg.match[4], msg.match[5]
+
+  robot.respond /singularity grep log (.*) for task (.*) on (.*) (.*) (.*) (.*)/i, (msg) ->
+    showTaskLog msg, msg.match[1], msg.match[2], msg.match[3], msg.match[4], msg.match[5], msg.match[6]
+
   robot.respond /singularity\?/i, (msg) ->
     showCommands(msg)

      msg.send "Request '#{request}' not found on #{alias}"
    )

  robot.brain.on 'loaded', ->
    if robot.brain.data.singularity_aliases?
      _singularityAliases = robot.brain.data.singularity_aliases

#   hubot singularity show active tasks for <request> on <alias>
#   hubot singularity kill task <taksId> on <alias>
#   hubot singularity show task updates for <taskId> on <alias>
#   hubot singularity show log files for task <taskId> on <alias>
#   hubot singularity show log <logName> for task <taskId> on <alias> <length> <offset>
#   hubot singularity grep log <logName> for task <taskId> on <alias> <length> <offset> <grepString>
#
# Author:
#   Arca Artem - <aartem@opentable.com>
